Oracle Linux 5 Security Technical Implementation Guide

  • Version/Release: V2R1
  • Published: 2020-12-04
  • Expand All:
  • Severity:
  • Sort:
Compare

Select any two versions of this STIG to compare the individual requirements

View

Select any old version/release of this STIG to view the previous requirements

This Security Technical Implementation Guide is published as a tool to improve the security of Department of Defense (DoD) information systems. The requirements are derived from the National Institute of Standards and Technology (NIST) 800-53 and related documents. Comments or proposed revisions to this document should be sent via email to the following address: disa.stig_spt@mail.mil.
b
The /etc/gshadow file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218163 - SV-218163r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX001431
Vuln IDs
  • V-218163
  • V-22341
Rule IDs
  • SV-218163r603259_rule
  • SV-62667
The /etc/gshadow file is critical to system security and must be owned by a privileged user. The /etc/gshadow file contains a list of system groups and hashes for group passwords.
Checks: C-19638r561449_chk

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

Fix: F-19636r561450_fix

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

b
The /etc/gshadow file must be group-owned by root.
AC-6 - Medium - CCI-000225 - V-218164 - SV-218164r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX001432
Vuln IDs
  • V-218164
  • V-22342
Rule IDs
  • SV-218164r603259_rule
  • SV-62681
The /etc/gshadow file is critical to system security and must be protected from unauthorized modification. The /etc/gshadow file contains a list of system groups and hashes for group passwords.
Checks: C-19639r561452_chk

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

Fix: F-19637r561453_fix

Change the group-owner of the /etc/gshadow file to root. # chgrp root /etc/gshadow

b
The /etc/gshadow file must have mode 0400.
AC-6 - Medium - CCI-000225 - V-218165 - SV-218165r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX001433
Vuln IDs
  • V-218165
  • V-22343
Rule IDs
  • SV-218165r603259_rule
  • SV-62697
The /etc/gshadow file is critical to system security and must be protected from unauthorized modification. The /etc/gshadow file contains a list of system groups and hashes for group passwords.
Checks: C-19640r561455_chk

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

Fix: F-19638r561456_fix

Change the mode of the /etc/gshadow file to 0400 or less permissive. # chmod 0400 /etc/gshadow

b
The /etc/gshadow file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218166 - SV-218166r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX001434
Vuln IDs
  • V-218166
  • V-22344
Rule IDs
  • SV-218166r603259_rule
  • SV-62711
The /etc/gshadow file is critical to system security and must be protected from unauthorized modification. The /etc/gshadow file contains a list of system groups and hashes for group passwords.
Checks: C-19641r561458_chk

Check /etc/gshadow has no extended ACL. # ls -l /etc/gshadow If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19639r561459_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/gshadow

b
The /etc/gshadow file must not contain any group password hashes.
CM-6 - Medium - CCI-000366 - V-218167 - SV-218167r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-LNX001476
Vuln IDs
  • V-218167
  • V-22349
Rule IDs
  • SV-218167r603259_rule
  • SV-62767
Group passwords are typically shared and should not be used.
Checks: C-19642r553838_chk

Check the /etc/gshadow file for password hashes. # cut -d : -f 2 /etc/gshadow | egrep -v '^(x|!!)$' If any password hashes are returned, this is a finding.

Fix: F-19640r553839_fix

Edit /etc/gshadow and change the password field to an exclamation point (!) to lock the group password.

c
The system must not have special privilege accounts, such as shutdown and halt.
AC-6 - High - CCI-000225 - V-218168 - SV-218168r603259_rule
RMF Control
AC-6
Severity
High
CCI
CCI-000225
Version
GEN000000-LNX00320
Vuln IDs
  • V-218168
  • V-4268
Rule IDs
  • SV-218168r603259_rule
  • SV-62797
If special privilege accounts are compromised, the accounts could provide privileges to execute malicious commands on a system.
Checks: C-19643r553841_chk

Perform the following to check for unnecessary privileged accounts: # grep "^shutdown" /etc/passwd # grep "^halt" /etc/passwd # grep "^reboot" /etc/passwd If any unnecessary privileged accounts exist this is a finding.

Fix: F-19641r553842_fix

Remove any special privilege accounts, such as shutdown and halt, from the /etc/passwd and /etc/shadow files using the "userdel" or "system-config-users" commands.

b
The X server must have the correct options enabled.
CM-6 - Medium - CCI-000366 - V-218169 - SV-218169r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-LNX00360
Vuln IDs
  • V-218169
  • V-1021
Rule IDs
  • SV-218169r603259_rule
  • SV-62805
Without the correct options enabled, the Xwindows system would be less secure and there would be no screen timeout.
Checks: C-19644r553844_chk

Verify the options of the running Xwindows server are correct. Procedure: Get the running xserver information # ps -ef |grep X If the response contains /usr/bin/Xorg:0 /usr/bin/Xorg:0 -br -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7 this is indicative of Xorg starting through gdm. This is the default on this version of the operating system. Examine the Xorg line: If the "-auth" option is missing this would be a finding. If the "-audit" option is missing or not set to 4, this is a finding. If the "-s" option is missing or greater than 15, this is a finding. If the response to the grep contains X:0 /usr/bin/X:0 this indicates the X server was started with the xinit command with no associated .xserverrc in the home directory of the user. No options are selected by default. This is a finding. Otherwise if there are options on the X:0 line: If the "-auth" option is missing this is a finding If the "-audit" option is missing or not set to 4, this is a finding. If the "-s" option is missing or greater than 15, this is a finding.

Fix: F-19642r553845_fix

Enable the following options: -audit (at level 4), -auth and -s with 15 minutes as the timeout value. Procedure for gdm: Edit /etc/gdm/custom.conf and add the following: [server-Standard] name=Standard server command=/usr/bin/Xorg -br -audit 4 -s 15 chooser=false handled=true flexible=true priority=0 Procedure for xinit: Edit or create a .xserverrc file in the user's home directory containing the startup script for xinit. This script must have an exec line with at least these options: exec /usr/bin/X -audit 4 -s 15 -auth <Xauth file> & The <Xauth file> is created using the "xauth" command and is customarily located in the user's home directory with the name ".Xauthority".

b
An X server must have none of the following options enabled: -ac, -core (except for debugging purposes), or -nolock.
CM-6 - Medium - CCI-000366 - V-218170 - SV-218170r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-LNX00380
Vuln IDs
  • V-218170
  • V-1022
Rule IDs
  • SV-218170r603259_rule
  • SV-62815
These options will detract from the security of the Xwindows system.
Checks: C-19645r553847_chk

If the "xorg-x11-server-Xorg" package is not installed, this is not applicable. Verify the options of the running Xwindows server are correct. Procedure: Get the running xserver information # ps -ef |grep X If the response contains /usr/bin/Xorg:0 /usr/bin/Xorg:0 -br -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7 this is indicative of Xorg starting through gdm. This is the default window manager on this version of the operating system. If the "-ac" option is found, this is a finding. If the "-core" option is found, this is a finding. If the "-nolock" option is found, this is a finding. If the response to the grep contains X:0 /usr/bin/X:0 Examine the X:0 line: If the "-ac" option is found, this is a finding. If the "-core" option is found, this is a finding. If the "-nolock" option is found, this is a finding.

Fix: F-19643r553848_fix

Disable the unwanted options: Procedure: For gdm: Remove the -ac, -core and -nolock options by creating a "command" entry in the /etc/gdm/custom.conf file with the options removed. For Xwindows started by xinit: Create or modify the .xserverrc script in the user's home directory to remove the -ac, -core and -nolock options from the exec /usr/bin/X command.

b
The /etc/security/access.conf file must be owned by root.
CM-6 - Medium - CCI-000366 - V-218171 - SV-218171r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-LNX00400
Vuln IDs
  • V-218171
  • V-1025
Rule IDs
  • SV-218171r603259_rule
  • SV-62875
The /etc/security/access.conf file contains entries restricting access from the system console by authorized System Administrators. If the file is owned by a user other than root, it could compromise the system.
Checks: C-19646r553850_chk

Check access configuration ownership: # ls -lL /etc/security/access.conf If this file exists and is not owned by root, this is a finding.

Fix: F-19644r553851_fix

Follow the correct configuration parameters for access configuration file. Use the chown command to configure it properly. (for example: # chown root /etc/security/access.conf ).

b
The /etc/security/access.conf file must have a privileged group owner.
AC-6 - Medium - CCI-000225 - V-218172 - SV-218172r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX00420
Vuln IDs
  • V-218172
  • V-1054
Rule IDs
  • SV-218172r603259_rule
  • SV-62901
Depending on the access restrictions of the /etc/security/access.conf file, if the group owner were not a privileged group, it could endanger system security.
Checks: C-19647r553853_chk

Check access configuration group ownership: # ls -lL /etc/security/access.conf If this file exists and has a group-owner that is not a privileged user, this is a finding.

Fix: F-19645r553854_fix

Use the chgrp command to ensure the group owner is root, sys, or bin. (for example: # chgrp root /etc/security/access.conf ).

b
The /etc/security/access.conf file must have mode 0640 or less permissive.
CM-6 - Medium - CCI-000366 - V-218173 - SV-218173r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-LNX00440
Vuln IDs
  • V-218173
  • V-1055
Rule IDs
  • SV-218173r603259_rule
  • SV-62903
If the access permissions are more permissive than 0640, system security could be compromised.
Checks: C-19648r553856_chk

Check access configuration mode: # ls -lL /etc/security/access.conf If this file exists and has a mode more permissive than 0640, this is a finding.

Fix: F-19646r553857_fix

Use the chmod command to set the permissions to 0640. (for example: # chmod 0640 /etc/security/access.conf ).

b
The access.conf file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218174 - SV-218174r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX00450
Vuln IDs
  • V-218174
  • V-22595
Rule IDs
  • SV-218174r603259_rule
  • SV-62909
If the access permissions are more permissive than 0640, system security could be compromised.
Checks: C-19649r553859_chk

Check the permissions of the file. # ls -lL /etc/security/access.conf If the permissions of the file or directory contain a '+', an extended ACL is present. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19647r553860_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/security/access.conf

b
The /etc/sysctl.conf file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218175 - SV-218175r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX00480
Vuln IDs
  • V-218175
  • V-4334
Rule IDs
  • SV-218175r603259_rule
  • SV-62929
The sysctl.conf file specifies the values for kernel parameters to be set on boot. These settings can affect the system's security.
Checks: C-19650r561461_chk

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

Fix: F-19648r561462_fix

Use the chown command to change the owner of /etc/sysctl.conf to root: # chown root /etc/sysctl.conf

b
The /etc/sysctl.conf file must be group-owned by root.
AC-6 - Medium - CCI-000225 - V-218176 - SV-218176r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX00500
Vuln IDs
  • V-218176
  • V-4335
Rule IDs
  • SV-218176r603259_rule
  • SV-62951
The sysctl.conf file specifies the values for kernel parameters to be set on boot. These settings can affect the system's security.
Checks: C-19651r561464_chk

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

Fix: F-19649r561465_fix

Use the chgrp command to change the group owner of /etc/sysctl.conf to root: # chgrp root /etc/sysctl.conf

b
The /etc/sysctl.conf file must have mode 0600 or less permissive.
AC-6 - Medium - CCI-000225 - V-218177 - SV-218177r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX00520
Vuln IDs
  • V-218177
  • V-4336
Rule IDs
  • SV-218177r603259_rule
  • SV-62963
The sysctl.conf file specifies the values for kernel parameters to be set on boot. These settings can affect the system's security.
Checks: C-19652r561467_chk

Check /etc/sysctl.conf permissions: # ls -lL /etc/sysctl.conf If /etc/sysctl.conf has a mode more permissive than 0600, this is a finding.

Fix: F-19650r561468_fix

Use the chmod command to change the mode of the /etc/sysctl.conf file. # chmod 0600 /etc/sysctl.conf

b
The /etc/sysctl.conf file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218178 - SV-218178r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX00530
Vuln IDs
  • V-218178
  • V-22596
Rule IDs
  • SV-218178r603259_rule
  • SV-62983
The sysctl.conf file specifies the values for kernel parameters to be set on boot. These settings can affect the system's security.
Checks: C-19653r561470_chk

Check the permissions of the file. # ls -lL /etc/sysctl.conf If the permissions of the file or directory contain a '+', an extended ACL is present. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19651r561471_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/sysctl.conf

c
The Linux NFS Server must not have the insecure file locking option.
AC-6 - High - CCI-000225 - V-218179 - SV-218179r603259_rule
RMF Control
AC-6
Severity
High
CCI
CCI-000225
Version
GEN000000-LNX00560
Vuln IDs
  • V-218179
  • V-4339
Rule IDs
  • SV-218179r603259_rule
  • SV-62985
Insecure file locking could allow for sensitive data to be viewed or edited by an unauthorized user.
Checks: C-19654r553874_chk

Determine if an NFS server is running on the system by: # ps -ef |grep nfsd If an NFS server is running, confirm it is not configured with the insecure_locks option by: # exportfs -v The example below would be a finding: /misc/export speedy.example.com(rw,insecure_locks)

Fix: F-19652r553875_fix

Remove the "insecure_locks" option from all NFS exports on the system. Procedure: Edit /etc/exports and remove all instances of the insecure_locks option. Re-export the file systems to make the setting take effect. # exportfs -a

c
The x86 CTRL-ALT-DELETE key sequence must be disabled.
CM-6 - High - CCI-000366 - V-218180 - SV-218180r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN000000-LNX00580
Vuln IDs
  • V-218180
  • V-4342
Rule IDs
  • SV-218180r603259_rule
  • SV-62991
Undesirable reboots can occur if the CTRL-ALT-DELETE key sequence is not disabled. Such reboots may cause a loss of data or loss of access to critical information.
Checks: C-19655r553877_chk

Verify that reboot using the CTRL-ALT-DELETE key sequence has been disabled by performing: # grep ctrlaltdel /etc/inittab If the line returned does not specify "/usr/bin/logger", or is not commented out, this is a finding.

Fix: F-19653r553878_fix

Ensure the CTRL-ALT-DELETE key sequence has been disabled and attempts to use the sequence are logged. In the /etc/inittab file replace: ca::ctrlaltdel:/sbin/shutdown -t3 -r now with ca:nil:ctrlaltdel:/usr/bin/logger -p security.info "Ctrl-Alt-Del was pressed" Once this change has been made, execute the following command to force the "init" daemon to re-read /etc/inittab: # telinit q

b
The Linux PAM system must not grant sole access to admin privileges to the first user who logs into the console.
CM-6 - Medium - CCI-000366 - V-218181 - SV-218181r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-LNX00600
Vuln IDs
  • V-218181
  • V-4346
Rule IDs
  • SV-218181r603259_rule
  • SV-63003
If an unauthorized user has been granted privileged access while logged in at the console, the security posture of a system could be greatly compromised. Additionally, such a situation could deny legitimate root access from another terminal.
Checks: C-19656r553880_chk

Ensure the pam_console.so module is not configured in any files in /etc/pam.d by: # cd /etc/pam.d # grep pam_console.so * Or # ls -la /etc/security/console.perms If either the pam_console.so entry or the file /etc/security/console.perms is found then this is a finding.

Fix: F-19654r553881_fix

Configure PAM to not grant sole access of administrative privileges to the first user logged in at the console. Identify any instances of pam_console. # cd /etc/pam.d # grep pam_console.so * For any files containing an un-commented reference to pam_console.so, edit the file and remove or comment out the reference. Remove the console.perms file if it exists: # rm /etc/security/console.perms

b
The /etc/securetty file must be group-owned by root, sys, or bin.
AC-6 - Medium - CCI-000225 - V-218182 - SV-218182r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX00620
Vuln IDs
  • V-218182
  • V-12038
Rule IDs
  • SV-218182r603259_rule
  • SV-63013
The securetty file contains the list of terminals permitting direct root logins. It must be protected from unauthorized modification.
Checks: C-19657r561473_chk

Check /etc/securetty group ownership: # ls -lL /etc/securetty If /etc/securetty is not group owned by root, sys, or bin, then this is a finding.

Fix: F-19655r561474_fix

Change the group-owner of /etc/securetty to root, sys, or bin. Example: # chgrp root /etc/securetty

b
The /etc/securetty file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218183 - SV-218183r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000000-LNX00640
Vuln IDs
  • V-218183
  • V-12039
Rule IDs
  • SV-218183r603259_rule
  • SV-63061
The securetty file contains the list of terminals permitting direct root logins. It must be protected from unauthorized modification.
Checks: C-19658r553886_chk

Check /etc/securetty ownership. Procedure: # ls -lL /etc/securetty If /etc/securetty is not owned by root, this is a finding.

Fix: F-19656r553887_fix

Change the owner of the /etc/securetty file to root. Procedure: # chown root /etc/securetty

b
The /etc/securetty file must have mode 0600 or less permissive.
CM-6 - Medium - CCI-000366 - V-218184 - SV-218184r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-LNX00660
Vuln IDs
  • V-218184
  • V-12040
Rule IDs
  • SV-218184r603259_rule
  • SV-63071
The securetty file contains the list of terminals permitting direct root logins. It must be protected from unauthorized modification.
Checks: C-19659r553889_chk

Check /etc/securetty permissions. Procedure: # ls -lL /etc/securetty If /etc/securetty has a mode more permissive than 0600, this is a finding.

Fix: F-19657r553890_fix

Change the mode of the /etc/securetty file to 0600. Procedure: # chmod 0600 /etc/securetty

a
Auditing must be enabled at boot by setting a kernel parameter.
CM-6 - Low - CCI-000366 - V-218185 - SV-218185r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN000000-LNX00720
Vuln IDs
  • V-218185
  • V-22598
Rule IDs
  • SV-218185r603259_rule
  • SV-63081
If auditing is enabled late in the boot process, the actions of startup scripts may not be audited. Some audit systems also maintain state information only available if auditing is enabled before a given process is created.
Checks: C-19660r553892_chk

Check for the audit=1 kernel parameter. # grep 'audit=1' /proc/cmdline If no results are returned, this is a finding.

Fix: F-19658r553893_fix

Edit the grub bootloader file /boot/grub/grub.conf or /boot/grub/menu.lst by appending the "audit=1" parameter to the kernel boot line. Reboot the system for the change to take effect.

a
The system must use a Linux Security Module configured to limit the privileges of system services.
CM-6 - Low - CCI-000366 - V-218186 - SV-218186r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN000000-LNX00800
Vuln IDs
  • V-218186
  • V-22584
Rule IDs
  • SV-218186r603259_rule
  • SV-63085
Linux Security Modules such as SELinux and AppArmor can be used to provide protection from software exploits by explicitly defining the privileges permitted to each software package.
Checks: C-19661r553895_chk

Check if SELinux is enabled with at least a "targeted" policy. # grep ^SELINUX /etc/sysconfig/selinux If the SELINUX option is not set to "enforcing", this is a finding. If the SELINUXTYPE option is not set to "targeted" or "strict", this is a finding. If the use of the system is incompatible with the confines of SELinux this rule may be waived.

Fix: F-19659r553896_fix

Enable one of the SELinux policies. Edit /etc/sysconfig/selinux and set the value of the SELINUX option to "enforcing" and SELINUXTYPE to "targeted" or "strict". Restart the system.

b
The system must require authentication upon booting into single-user and maintenance modes.
AC-3 - Medium - CCI-000213 - V-218187 - SV-218187r603259_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
GEN000020
Vuln IDs
  • V-218187
  • V-756
Rule IDs
  • SV-218187r603259_rule
  • SV-63087
If the system does not require valid root authentication 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.
Checks: C-19662r553898_chk

Check if the system requires a password for entering single-user mode. # grep ':S:' /etc/inittab If /sbin/sulogin is not listed, this is a finding.

Fix: F-19660r553899_fix

Edit /etc/inittab and set sulogin to run in single-user mode. Example line in /etc/inittab: ~:S:wait:/sbin/sulogin Note: The first field in the /etc/inittab line may be any sequence of 1-4 characters.

c
The operating system must be a supported release.
CM-6 - High - CCI-000366 - V-218188 - SV-218188r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN000100
Vuln IDs
  • V-218188
  • V-11940
Rule IDs
  • SV-218188r603259_rule
  • SV-63095
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.
Checks: C-19663r553901_chk

Check the version of the operating system. Example: # cat /etc/oracle-release Vendor End-of-Support Information: Oracle Linux 5 premier support ends on March 2017, but sustaining support continues indefinitely. For more information, see the Oracle Lifetime Support Policy for Oracle Linux at: http://www.oracle.com/us/support/library/elsp-lifetime-069338.pdf. Check with the vendor for additional information. If the version installed is not supported, this is a finding.

Fix: F-19661r553902_fix

Upgrade to a supported version of the operating system.

b
System security patches and updates must be installed and up-to-date.
CM-6 - Medium - CCI-000366 - V-218189 - SV-218189r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000120
Vuln IDs
  • V-218189
  • V-783
Rule IDs
  • SV-218189r603259_rule
  • SV-63099
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.
Checks: C-19664r561404_chk

Obtain the list of available package security updates from the operating system vendor. Check the available package security updates have been installed on the system. Use the "rpm" command to list the packages installed on the system. Example: # rpm -qa -last If updated packages are available and applicable to the system and have not been installed, this is a finding. For more information, see: (1) http://linux.oracle.com/errata/ and (2) http://linux.oracle.com/cve/.

Fix: F-19662r561405_fix

Install the patches or updated packages available from the vendor.

b
A file integrity baseline including cryptographic hashes must be created.
CM-2 - Medium - CCI-000293 - V-218190 - SV-218190r603259_rule
RMF Control
CM-2
Severity
Medium
CCI
CCI-000293
Version
GEN000140-2
Vuln IDs
  • V-218190
  • V-27250
Rule IDs
  • SV-218190r603259_rule
  • SV-63101
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.
Checks: C-19665r568507_chk

Verify a system integrity baseline exists. The Advanced Intrusion Detection Environment (AIDE) tool is included with the operating system. Other host intrusion detection system (HIDS) software is available but must be checked manually. Procedure: # grep DBDIR /etc/aide.conf If /etc/aide.conf does not exist AIDE has not been installed. Unless another HIDS is used on the system, this is a finding. Examine the response for "database" this indicates the location of the system integrity baseline database used as input to a comparison. # ls -la &lt;DBDIR&gt; If no "database" file as defined in /etc/aide.conf exists a system integrity baseline has not been created, this is a finding. Examine /etc/aide.conf to ensure some form of cryptographic hash (i.e., md5, rmd160, sha256) is used for files. In the default /etc/aide.conf the "NORMAL" or "LSPP" rules which are used for virtually all files DO include some form of cryptographic hash. If the site has defined rules to replace the functionality provided by the default "NORMAL" and "LSPP" rules but DOES NOT include cryptographic hashes, this is a finding. Otherwise, if any element used to define the "NORMAL" and "LSPP" rules has been modified resulting in cryptographic hashes not being used, this is a finding. If any other modification to the default /etc/aide.conf file have been made resulting in rules which do not include cryptographic hashes on appropriate files, this is a finding.

Fix: F-19663r568508_fix

Use AIDE to create a file integrity baseline, including cryptographic hashes, for the system. Configure the /etc/aide.conf file to ensure some form of cryptographic hash (e.g., md5, rmd160, sha256) is used for files. In the default /etc/aide.conf the "NORMAL" or "LSPP" rules which are used for virtually all files DO include some form of cryptographic hash.

b
A file integrity baseline including cryptographic hashes must be maintained.
CM-2 - Medium - CCI-000293 - V-218191 - SV-218191r603259_rule
RMF Control
CM-2
Severity
Medium
CCI
CCI-000293
Version
GEN000140-3
Vuln IDs
  • V-218191
  • V-27251
Rule IDs
  • SV-218191r603259_rule
  • SV-63129
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.
Checks: C-19666r568510_chk

Verify a system integrity baseline is maintained. The baseline has been updated to be consistent with the latest approved system configuration changes. The Advanced Intrusion Detection Environment (AIDE) tool is included with the operating system. Other host intrusion detection system (HIDS) software is available but must be checked manually. Procedure: # grep DBDIR /etc/aide.conf If /etc/aide.conf does not exist AIDE has not been installed. Unless another HIDS is used on the system, this is a finding. Examine the response for "database" indicates the location of the system integrity baseline database used as input to a comparison. # ls -la &lt;DBDIR&gt; If the no "database" file as defined in /etc/aide.conf a system integrity baseline has not been created, this is a finding. Ask the SA when the last approved system configuration changes occurred. If the modification date of the AIDE database is prior to the last approved configuration change, this is a finding.

Fix: F-19664r568511_fix

Regularly rebuild the integrity baseline, including cryptographic hashes, for the system to be consistent with the latest approved system configuration. Procedure: After an approved modification to the system configuration has been made perform: # aide -u This will update the database.

b
A file integrity tool must be used at least weekly to check for unauthorized file changes, particularly the addition of unauthorized system libraries or binaries, or for unauthorized modification to authorized system libraries or binaries.
RA-5 - Medium - CCI-001069 - V-218192 - SV-218192r603259_rule
RMF Control
RA-5
Severity
Medium
CCI
CCI-001069
Version
GEN000220
Vuln IDs
  • V-218192
  • V-11945
Rule IDs
  • SV-218192r603259_rule
  • SV-63133
Changes in system libraries, binaries and other critical system files 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.
Checks: C-19667r568513_chk

Check for the presence of an aide on the system: # rpm -qa | grep aide If aide is not installed, ask the SA what file integrity tool is being used to check the system. Check the global crontabs for the presence of an "aide" job to run at least weekly, if aide is installed. Otherwise, check for the presence of a cron job to run the alternate file integrity checking application. # grep aide /etc/cron*/* If a tool is being run then the configuration file for the appropriate tool needs to be checked for selection lines /bin, /sbin, /lib, and /usr. Procedure: Check the root crontab (crontab -l) and the global crontabs in /etc/crontab, /etc/cron.d/* for the presence of an "aide" job to run at least weekly, which should have asterisks (*) in columns 3, 4, and 5. Check the weekly cron directory (/etc/cron.weekly) for any script running "aide --check" or "aide -C" or simply "aide". If there is not, this is a finding. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.

Fix: F-19665r568514_fix

Establish an automated job, scheduled to run weekly or more frequently, to run "aide --check" which is the file integrity tool to check for unauthorized system libraries or binaries. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.

b
The system clock must be synchronized to an authoritative DoD time source.
AU-8 - Medium - CCI-001492 - V-218193 - SV-218193r603259_rule
RMF Control
AU-8
Severity
Medium
CCI
CCI-001492
Version
GEN000240
Vuln IDs
  • V-218193
  • V-4301
Rule IDs
  • SV-218193r603259_rule
  • SV-63137
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 that synchronize 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 (i.e., it has 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.
Checks: C-19668r568516_chk

Check if NTP running: # ps -ef | egrep "xntpd|ntpd" Check if "ntpd -qg" scheduled to run: # grep "ntpd -qg" /var/spool/cron/* # grep "ntpd -qg" /etc/cron.d/* # grep "ntpd -qg" /etc/cron.daily/* # grep "ntpd -qg" /etc/cron.hourly/* # grep "ntpd -qg" /etc/cron.monthly/* # grep "ntpd -qg" /etc/cron.weekly/* If NTP is running or "ntpd -qg" is found: # more /etc/ntp.conf Confirm the timeservers and peers or multicast client (as applicable) are local or authoritative U.S. DoD sources appropriate for the level of classification which the network operates. If a non-local/non-authoritative time-server is used, this is a finding.

Fix: F-19666r568517_fix

Use an authoritative local time server or a time server operated by the U.S. government. Ensure all systems in the facility feed from one or more local time servers which feed from the authoritative U.S. government time server.

b
The system clock must be synchronized continuously.
CM-6 - Medium - CCI-000366 - V-218194 - SV-218194r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000241
Vuln IDs
  • V-218194
  • V-22290
Rule IDs
  • SV-218194r603259_rule
  • SV-63143
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 (i.e., it has 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.
Checks: C-19669r568519_chk

Check to see if ntp is running in continuous mode. # ps -ax | grep ntp If the process is found, then check the ntp.conf file for the maxpoll option setting. # grep maxpoll /etc/ntp.conf If the option is set to 17 or is not set, this is a finding.

Fix: F-19667r568520_fix

Enable the NTP daemon for continuous synchronization. # service ntpd start ; chkconfig ntpd on Edit the "/etc/ntp.conf" file and add or update an entry to define "maxpoll" to "10".

b
The system must use at least two time sources for clock synchronization.
AU-8 - Medium - CCI-000160 - V-218195 - SV-218195r603259_rule
RMF Control
AU-8
Severity
Medium
CCI
CCI-000160
Version
GEN000242
Vuln IDs
  • V-218195
  • V-22291
Rule IDs
  • SV-218195r603259_rule
  • SV-63147
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 (i.e., it has 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.
Checks: C-19670r568522_chk

Check the root crontab (crontab -l) and the global crontabs in /etc/crontab, /etc/cron.d/*, or scripts in the /etc/cron.daily directory for the presence of an "ntpd -qg" job. If the "ntpd -qg" command is not invoked with at least two external NTP servers listed, this is a finding. Check the NTP daemon configuration for at least two external servers. # grep ^server /etc/ntp.conf | egrep -v '(127.127.1.0|127.127.1.1)' If less than two servers or external reference clocks (127.127.x.x other than 127.127.1.0 or 127.127.1.1) are listed, this is a finding.

Fix: F-19668r568523_fix

If using "ntpd -qg", add additional NTP servers to the cron job running "ntpd -qg". If using the NTP daemon, add an additional "server" line to /etc/ntp.conf for each additional NTP server.

a
The system must use time sources local to the enclave.
AU-8 - Low - CCI-000160 - V-218196 - SV-218196r603259_rule
RMF Control
AU-8
Severity
Low
CCI
CCI-000160
Version
GEN000244
Vuln IDs
  • V-218196
  • V-22292
Rule IDs
  • SV-218196r603259_rule
  • SV-63153
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 (i.e., it has 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.
Checks: C-19671r568525_chk

Check the root crontab (crontab -l) and the global crontabs in /etc/crontab, /etc/cron.d/*, or scripts in the /etc/cron.daily directory for the presence of an "ntpd -qg" job. If the "ntpd -qg" command is invoked with NTP servers outside of the enclave, this is a finding. Check the NTP daemon configuration for NTP servers. # grep ^server /etc/ntp.conf | grep -v 127.127.1.1 If an NTP server is listed outside of the enclave, this is a finding.

Fix: F-19669r568526_fix

If using "ntpd -qg", remove NTP servers external to the enclave from the cron job running "ntpd -qg". If using the NTP daemon, remove the "server" line from /etc/ntp.conf for each NTP server external to the enclave.

b
The time synchronization configuration file (such as /etc/ntp.conf) must be owned by root.
AC-6 - Medium - CCI-000225 - V-218197 - SV-218197r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000250
Vuln IDs
  • V-218197
  • V-22294
Rule IDs
  • SV-218197r603259_rule
  • SV-63161
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.
Checks: C-19672r568528_chk

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

Fix: F-19670r568529_fix

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

b
The time synchronization configuration file (such as /etc/ntp.conf) must be group-owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218198 - SV-218198r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000251
Vuln IDs
  • V-218198
  • V-22295
Rule IDs
  • SV-218198r603259_rule
  • SV-63165
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.
Checks: C-19673r568531_chk

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

Fix: F-19671r568532_fix

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

b
The time synchronization configuration file (such as /etc/ntp.conf) must have mode 0640 or less permissive.
AC-6 - Medium - CCI-000225 - V-218199 - SV-218199r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000252
Vuln IDs
  • V-218199
  • V-22296
Rule IDs
  • SV-218199r603259_rule
  • SV-63171
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.
Checks: C-19674r568534_chk

Check the mode for the NTP configuration file is not more permissive than 0640. # ls -l /etc/ntp.conf If the mode is more permissive than 0640, this is a finding.

Fix: F-19672r568535_fix

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

b
The time synchronization configuration file (such as /etc/ntp.conf) must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218200 - SV-218200r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000253
Vuln IDs
  • V-218200
  • V-22297
Rule IDs
  • SV-218200r603259_rule
  • SV-63177
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.
Checks: C-19675r568537_chk

Check the NTP configuration file has no extended ACL. # ls -l /etc/ntp.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19673r568538_fix

Remove the extended ACL from the NTP configuration file. # setfacl --remove-all /etc/ntp.conf

b
Direct logins must not be permitted to shared, default, application, or utility accounts.
IA-2 - Medium - CCI-000770 - V-218201 - SV-218201r603259_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000770
Version
GEN000280
Vuln IDs
  • V-218201
  • V-760
Rule IDs
  • SV-218201r603259_rule
  • SV-63187
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.
Checks: C-19676r553940_chk

Use the last command to check for multiple accesses to an account from different workstations/IP addresses. # last -w If users log directly on to accounts, rather than using the switch user (su) command from their own named account to access them, this is a finding (such as logging directly onto oracle). Verify with the SA or the ISSO on documentation for users/administrators to log on to their own accounts first and then switch user (su) to the account to be shared has been maintained, including requirements and procedures. If no such documentation exists, this is a finding.

Fix: F-19674r553941_fix

Use the switch user (su) command from a named account login to access shared accounts. Document requirements and procedures for users/administrators to log into their own accounts first and then switch user (su) to the account to be shared.

b
The system must not have unnecessary accounts.
AC-2 - Medium - CCI-000012 - V-218202 - SV-218202r603259_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000012
Version
GEN000290
Vuln IDs
  • V-218202
  • V-4269
Rule IDs
  • SV-218202r603259_rule
  • SV-63195
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.
Checks: C-19677r568540_chk

Check the system for unnecessary user accounts. Procedure: # more /etc/passwd Obtain a list of authorized accounts from the IAO. If any unnecessary accounts are found on the system, this is a finding.

Fix: F-19675r568541_fix

Remove all unnecessary accounts from the /etc/passwd file before connecting a system to the network. Other accounts that are associated with a service not in use should also be removed.

b
The system must not have the unnecessary games account.
AC-2 - Medium - CCI-000012 - V-218203 - SV-218203r603259_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000012
Version
GEN000290-1
Vuln IDs
  • V-218203
  • V-29376
Rule IDs
  • SV-218203r603259_rule
  • SV-63201
Accounts that provide 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.
Checks: C-19678r568543_chk

Check the system for the unnecessary "games" accounts. Procedure: # grep ^games /etc/passwd If this account exists, it is a finding.

Fix: F-19676r568544_fix

Remove the "games" account from the /etc/passwd file before connecting a system to the network.

b
The system must not have the unnecessary news account.
AC-2 - Medium - CCI-000012 - V-218204 - SV-218204r603259_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000012
Version
GEN000290-2
Vuln IDs
  • V-218204
  • V-27275
Rule IDs
  • SV-218204r603259_rule
  • SV-63215
Accounts that provide 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.
Checks: C-19679r568546_chk

Check the system for the unnecessary "news" accounts. Procedure: # rpm -q inn If the "inn" is installed the "news" user is necessary and this is not a finding. # grep ^news /etc/passwd If this account exists and "inn" is not installed, this is a finding.

Fix: F-19677r568547_fix

Remove the "news" account from the /etc/passwd file before connecting a system to the network.

b
The system must not have the unnecessary gopher account.
AC-2 - Medium - CCI-000012 - V-218205 - SV-218205r603259_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000012
Version
GEN000290-3
Vuln IDs
  • V-218205
  • V-27276
Rule IDs
  • SV-218205r603259_rule
  • SV-63227
Accounts that provide 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.
Checks: C-19680r568549_chk

Check the system for the unnecessary "gopher" accounts. Procedure: # grep ^gopher /etc/passwd If this account exists, it is a finding.

Fix: F-19678r568550_fix

Remove the "gopher" account from the /etc/passwd file before connecting a system to the network.

b
The system must not have the unnecessary ftp account.
AC-2 - Medium - CCI-000012 - V-218206 - SV-218206r603259_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000012
Version
GEN000290-4
Vuln IDs
  • V-218206
  • V-27279
Rule IDs
  • SV-218206r603259_rule
  • SV-63231
Accounts that provide 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.
Checks: C-19681r568552_chk

Check the system for the unnecessary "ftp" accounts. Procedure: # rpm -q krb5-workstation An ftp server is part of "krb5-workstation". If it is installed the "ftp" user is necessary and this is not a finding. # rpm -q vsftp If the "vsftp" ftp server is installed the "ftp" user is necessary and this is not a finding. # grep ^ftp /etc/passwd If this account exists and no ftp server is installed which requires it, this is a finding.

Fix: F-19679r568553_fix

Remove the "ftp" account from the /etc/passwd file before connecting a system to the network.

b
All accounts on the system must have unique user or account names.
IA-2 - Medium - CCI-000764 - V-218207 - SV-218207r603259_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
GEN000300
Vuln IDs
  • V-218207
  • V-761
Rule IDs
  • SV-218207r603259_rule
  • SV-63251
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.
Checks: C-19682r561407_chk

Check the system for duplicate account names. Example: # pwck -r If any duplicate account names are found, this is a finding.

Fix: F-19680r561408_fix

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

b
All accounts must be assigned unique User Identification Numbers (UIDs).
IA-2 - Medium - CCI-000764 - V-218208 - SV-218208r603259_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
GEN000320
Vuln IDs
  • V-218208
  • V-762
Rule IDs
  • SV-218208r603259_rule
  • SV-63255
Accounts sharing a UID have full access to each others' files. This has the same effect as sharing a login. There is no way to assure identification, authentication, and accountability because the system sees them as the same user. If the duplicate UID is 0, this gives potential intruders another privileged account to attack.
Checks: C-19683r561410_chk

Perform the following to ensure there are no duplicate UIDs: # cut -d: -f3 /etc/passwd | uniq -d If any duplicate UIDs are found, this is a finding.

Fix: F-19681r561411_fix

Edit user accounts to provide unique UIDs for each account.

b
UIDs reserved for system accounts must not be assigned to non-system accounts.
CM-6 - Medium - CCI-000366 - V-218209 - SV-218209r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000340
Vuln IDs
  • V-218209
  • V-11946
Rule IDs
  • SV-218209r603259_rule
  • SV-63277
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.
Checks: C-19684r553964_chk

Check the UID assignments for all accounts. # cut -d: -f 1,3 /etc/passwd | egrep ":[1-4][0-9]{2}$|:[0-9]{1,2}$" Confirm all accounts with a UID of 499 and below are used by a system account. If a UID reserved for system accounts (0 - 499) is used by a non-system account, then this is a finding.

Fix: F-19682r553965_fix

Change the UID numbers for non-system accounts with reserved UIDs (those less or equal to 499).

b
GIDs reserved for system accounts must not be assigned to non-system groups.
CM-6 - Medium - CCI-000366 - V-218210 - SV-218210r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000360
Vuln IDs
  • V-218210
  • V-780
Rule IDs
  • SV-218210r603259_rule
  • SV-63299
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.
Checks: C-19685r553967_chk

Confirm all accounts with a GID of 499 and below are used by a system account. Procedure: List all the users with a GID of 0-499. # cut -d: -f 1,4 /etc/passwd|egrep ":[1-4][0-9]{2}$|:[0-9]{1,2}$" If a GID reserved for system accounts (0 - 499) is used by a non-system account, this is a finding.

Fix: F-19683r553968_fix

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

a
All GIDs referenced in the /etc/passwd file must be defined in the /etc/group file.
CM-6 - Low - CCI-000366 - V-218211 - SV-218211r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN000380
Vuln IDs
  • V-218211
  • V-781
Rule IDs
  • SV-218211r603259_rule
  • SV-63319
If a user is assigned the GID of a group not existing on the system, and a group with the GID is subsequently created, the user may have unintended rights to the group.
Checks: C-19686r553970_chk

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

Fix: F-19684r553971_fix

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

b
The Department of Defense (DoD) login banner must be displayed immediately prior to, or as part of, console login prompts.
AC-8 - Medium - CCI-000048 - V-218212 - SV-218212r603259_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
GEN000400
Vuln IDs
  • V-218212
  • V-763
Rule IDs
  • SV-218212r603259_rule
  • SV-63333
Failure to display the logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources.
Checks: C-19687r553973_chk

Access the system console and make a login attempt. Check for either of the following login banners based on the character limitations imposed by the system. An exact match is required. If one of these banners is not displayed, this is a finding. You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests- -not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. OR I've read &amp; consent to terms in IS user agreem't.

Fix: F-19685r553974_fix

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

b
The Department of Defense (DoD) login banner must be displayed immediately prior to, or as part of, graphical desktop environment login prompts.
AC-8 - Medium - CCI-000048 - V-218213 - SV-218213r603259_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
GEN000402
Vuln IDs
  • V-218213
  • V-24331
Rule IDs
  • SV-218213r603259_rule
  • SV-63351
Failure to display the logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources. This requirement applies to graphical desktop environments provided by the system to locally attached displays and input devices as well as to graphical desktop environments provided to remote systems, including thin clients.
Checks: C-19688r568555_chk

Access the graphical desktop environment(s) provided by the system and attempt to log in. 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 &amp; consent to terms in IS user agreem't.

Fix: F-19686r568556_fix

Configure the system to display one of the DoD login banners prior to, or as part of, the graphical desktop environment login process. Procedure: Modify /usr/share/gdm/themes/RHEL/RHEL.xml by adding the following xml after the first two "pixmap" entries. <item type="rect" id="custom-dod-banner"> <pos anchor="nw" x="20%" y="10" width="80%" height="100%"/> <box> <item type="label"> <normal font="Sans Bold 9" color="#ffffff"/> <text> Insert the "approved text" here based on the character limitations imposed by the system. </text> </item> </box> </item> Approved text: 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.

b
The FTPS/FTP service on the system must be configured with the Department of Defense (DoD) login banner.
AC-8 - Medium - CCI-000048 - V-218214 - SV-218214r603259_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
GEN000410
Vuln IDs
  • V-218214
  • V-23732
Rule IDs
  • SV-218214r603259_rule
  • SV-63359
Failure to display the logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources. Note: SFTP and FTPS are encrypted alternatives to FTP to be used in place of FTP. SFTP is implemented by the SSH service and uses its banner configuration.
Checks: C-19689r568558_chk

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 &amp; consent to terms in IS user agreem't.

Fix: F-19687r568559_fix

Provide the proper text for the DoD banner to be presented by the FTP server to the user. For vsftp: Examine the /etc/vsftp.conf file for the "banner_file" entry. (i.e., banner_file = /etc/banner/vsftp) For gssftp: Examine the /etc/xinetd.d/gssftp file for the "banner" entry. (i.e., banner = /etc/banner/gssftp) For both: Add the banner entry if one is not found. Modify or create the referenced banner file to contain one of the following DoD login banners (based on the character limitations imposed by the system). DoD Login Banners: You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details. OR I've read & consent to terms in IS user agreem't.

b
Successful and unsuccessful logins and logouts must be logged.
AU-2 - Medium - CCI-000126 - V-218215 - SV-218215r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN000440
Vuln IDs
  • V-218215
  • V-765
Rule IDs
  • SV-218215r603259_rule
  • SV-63363
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.
Checks: C-19690r553982_chk

Determine if all logon attempts are being logged. Procedure: Verify successful logins are being logged: # last -R | more If the command does not return successful logins, this is a finding. Verify if unsuccessful logons are being logged: # lastb -R | more If the command does not return unsuccessful logins, this is a finding.

Fix: F-19688r553983_fix

Make sure the collection files exist. Procedure: If there are no successful logins being returned from the "last" command, create /var/log/wtmp: # touch /var/log/wtmp If there are no unsuccessful logins being returned from the "lastb" command, create /var/log/btmp: # touch /var/log/btmp

a
The system must limit users to 10 simultaneous system logins, or a site-defined number, in accordance with operational requirements.
AC-10 - Low - CCI-000054 - V-218216 - SV-218216r603259_rule
RMF Control
AC-10
Severity
Low
CCI
CCI-000054
Version
GEN000450
Vuln IDs
  • V-218216
  • V-22298
Rule IDs
  • SV-218216r603259_rule
  • SV-63367
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.
Checks: C-19691r568561_chk

Check for a default maxlogins line in the /etc/security/limits.conf and /etc/security/limits.d/* files. Procedure: #grep maxlogins /etc/security/limits.conf /etc/security/limits.d/* The default maxlimits should be set to a max of 10 or a documented site defined number: * - maxlogins 10 If no such line exists, this is a finding.

Fix: F-19689r568562_fix

Add a "maxlogins" line such as "* hard maxlogins 10" to /etc/security/limits.conf or a file in /etc/security/limits.d. The enforced maximum should be defined by site requirements and policy.

a
The system must display the date and time of the last successful account login upon login.
AC-9 - Low - CCI-000052 - V-218217 - SV-218217r603259_rule
RMF Control
AC-9
Severity
Low
CCI
CCI-000052
Version
GEN000452
Vuln IDs
  • V-218217
  • V-22299
Rule IDs
  • SV-218217r603259_rule
  • SV-63373
Providing users with feedback on when account accesses last occurred facilitates user recognition and reporting of unauthorized account use.
Checks: C-19692r553988_chk

Check that pam_lastlog is used and not silent, or that the SSH daemon is configured to display last login information. # grep pam_lastlog /etc/pam.d/sshd If pam_lastlog is present, and does not have the "silent" option, this is not a finding. # grep -i PrintLastLog /etc/ssh/sshd_config If PrintLastLog is not present in the configuration, this is not a finding. This is the default setting. If PrintLastLog is present in the configuration and set to "yes" (case insensitive), this is not a finding. Otherwise, this is a finding.

Fix: F-19690r553989_fix

Implement pam_lastlog, or enable PrintLastLog in the SSH daemon. To enable pam_lastlog, add a line such as "session required pam_lastlog.so" to /etc/pam.d/sshd. To enable PrintLastLog in the SSH daemon, remove any lines disabling this option from /etc/ssh/sshd_config.

b
The system must disable accounts after three consecutive unsuccessful login attempts.
AC-7 - Medium - CCI-000044 - V-218218 - SV-218218r603259_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-000044
Version
GEN000460
Vuln IDs
  • V-218218
  • V-766
Rule IDs
  • SV-218218r603259_rule
  • SV-63383
Disabling accounts after a limited number of unsuccessful login attempts improves protection against password guessing attacks.
Checks: C-19693r553991_chk

Check the pam_tally configuration. # more /etc/pam.d/system-auth Confirm the following line is configured, before any "auth sufficient" lines: auth required pam_tally2.so deny=3 If no such line is found, this is a finding.

Fix: F-19691r553992_fix

By default link /etc/pam.d/system-auth points to /etc/pam.d/system-auth-ac which is the file maintained by the authconfig utility. In order to add pam options other than those available via the utility create /etc/pam.d/system-auth-local with the options and including system-auth-ac. In order to set the account lockout to three failed attempts the content should be similar to: auth required pam_access.so auth required pam_tally2.so deny=3 auth include system-auth-ac account required pam_tally2.so account include system-auth-ac password include system-auth-ac session include system-auth-ac Once system-auth-local is written reset the /etc/pam.d/system-auth to point to system-auth-local. This is necessary because authconfig writes directly to system-auth-ac so any changes made by hand will be lost if authconfig is run.

b
The delay between login prompts following a failed login attempt must be at least 4 seconds.
AC-7 - Medium - CCI-002238 - V-218219 - SV-218219r603259_rule
RMF Control
AC-7
Severity
Medium
CCI
CCI-002238
Version
GEN000480
Vuln IDs
  • V-218219
  • V-768
Rule IDs
  • SV-218219r603259_rule
  • SV-63391
Enforcing a delay between successive failed login attempts increases protection against automated password guessing attacks.
Checks: C-19694r553994_chk

Check the value of the FAIL_DELAY variable and the ability to use it. Procedure: # grep FAIL_DELAY /etc/login.defs If the value does not exist, or is less than 4, this is a finding. Check for the use of pam_faildelay. # grep pam_faildelay /etc/pam.d/system-auth* If pam_faildelay.so module is not present, this is a finding. If pam_faildelay is present only in /etc/pam.d/system-auth-ac: ensure that /etc/pam.d/system-auth includes /etc/pam.d/system-auth-ac. #grep system-auth-ac /etc/pam.d/system-auth This should return: auth include system-auth-ac account include system-auth-ac password include system-auth-ac session include system-auth-ac /etc/pam.d/system-auth-ac should only be included by /etc/pam.d/system-auth. All other pam files should include /etc/pam.d/system-auth. If pam_faildelay is not defined in /etc/pam.d/system-auth either directly or through inclusion of system-auth-ac, this is a finding.

Fix: F-19692r553995_fix

Add the pam_faildelay module and set the FAIL_DELAY variable. Procedure: Edit /etc/login.defs and set the value of the FAIL_DELAY variable to 4 or more. The default link /etc/pam.d/system-auth points to /etc/pam.d/system-auth-ac which is the file maintained by the authconfig utility. In order to add pam options other than those available via the utility create or modify /etc/pam.d/system-auth-local with the options and including system-auth-ac. For example: auth required pam_access.so auth optional pam_faildelay.so delay=4000000 auth include system-auth-ac account include system-auth-ac password include system-auth-ac session include system-auth-ac Once system-auth-local is written ensure the /etc/pam.d/system-auth points to system-auth-local. This is necessary because authconfig writes directly to system-auth-ac so any manual changes made will be lost if authconfig is run.

b
Graphical desktop environments provided by the system must automatically lock after 15 minutes of inactivity and the system must require users to re-authenticate to unlock the environment. Applications requiring continuous, real-time screen display (i.e., network management products) require the following and need to be documented with the IAO. -The logon session does not have administrator rights. -The display station (i.e., keyboard, monitor, etc.) is located in a controlled access area.
AC-11 - Medium - CCI-000057 - V-218220 - SV-218220r603259_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
GEN000500
Vuln IDs
  • V-218220
  • V-4083
Rule IDs
  • SV-218220r603259_rule
  • SV-63405
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.
Checks: C-19695r568564_chk

If the "xorg-x11-server-Xorg" package is not installed, this is not applicable. For the Gnome screen saver, check the idle_activation_enabled flag. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --get /apps/gnome-screensaver/idle_activation_enabled If this does not return "true" and a documented exception has not been made by the IAO, this is a finding.

Fix: F-19693r568565_fix

For the Gnome screen saver, set the idle_activation_enabled flag. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set /apps/gnome-screensaver/idle_activation_enabled true

b
The graphical desktop environment must set the idle timeout to no more than 15 minutes.
AC-11 - Medium - CCI-000057 - V-218221 - SV-218221r603259_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
GEN000500-2
Vuln IDs
  • V-218221
  • V-27283
Rule IDs
  • SV-218221r603259_rule
  • SV-63609
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.
Checks: C-19696r568567_chk

If the "xorg-x11-server-Xorg" package is not installed, this is not applicable. For the Gnome screen saver, check the idle_delay setting. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --get /apps/gnome-screensaver/idle_delay If this does not return 15 or less, this is a finding.

Fix: F-19694r568568_fix

For the Gnome screen saver, set idle_delay to 15. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type int --set /apps/gnome-screensaver/idle_delay 15

b
Graphical desktop environments provided by the system must have automatic lock enabled.
AC-11 - Medium - CCI-000057 - V-218222 - SV-218222r603259_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
GEN000500-3
Vuln IDs
  • V-218222
  • V-27284
Rule IDs
  • SV-218222r603259_rule
  • SV-63619
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.
Checks: C-19697r568570_chk

If the "xorg-x11-server-Xorg" package is not installed, this is not applicable. For the Gnome screen saver, check the lock_enabled flag. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --get /apps/gnome-screensaver/lock_enabled If this does not return "true", this is a finding.

Fix: F-19695r568571_fix

For the Gnome screen saver, set the lock_enabled flag. Procedure: # gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type bool --set /apps/gnome-screensaver/lock_enabled true

a
The system must display a publicly-viewable pattern during a graphical desktop environment session lock.
AC-14 - Low - CCI-000061 - V-218223 - SV-218223r603259_rule
RMF Control
AC-14
Severity
Low
CCI
CCI-000061
Version
GEN000510
Vuln IDs
  • V-218223
  • V-22301
Rule IDs
  • SV-218223r603259_rule
  • SV-63633
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.
Checks: C-19698r568573_chk

Determine if a publicly-viewable pattern is displayed during a session lock. Some screensaver themes available but not included in the operating system distribution use a snapshot of the current screen as a graphic. This theme does not qualify as a publicly-viewable pattern. If the screen lock pattern is not publicly-viewable, this is a finding.

Fix: F-19696r568574_fix

Configure the system to display a publicly-viewable pattern during a session lock. This is done graphically by selecting a screensaver theme using gnome-screensaver-preferences command. Any of the themes distributed with this operating system may be used including "Blank Screen".

b
The root user must not own the logon session for an application requiring a continuous display.
AC-6 - Medium - CCI-000225 - V-218224 - SV-218224r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000520
Vuln IDs
  • V-218224
  • V-769
Rule IDs
  • SV-218224r603259_rule
  • SV-63649
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.
Checks: C-19699r561413_chk

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. Verify documentation exists for the requirement and justification of the application. If no documentation exists, this is a finding. Execute "ps -ef | more" to determine which user owns the process(es) associated with the application. If the owner is root, this is a finding.

Fix: F-19697r561414_fix

Configure the system so the owner of a session requires a continuous screen display, such as a network management display, is not root. Ensure the display is also located in a secure, controlled access area. Document and justify this requirement and ensure the terminal and keyboard for the display (or workstation) are secure from all but authorized personnel by maintaining them in a secure area, in a locked cabinet where a swipe card, or other positive forms of identification, must be used to gain entry.

b
Users must not be able to change passwords more than once every 24 hours.
IA-5 - Medium - CCI-000198 - V-218225 - SV-218225r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000198
Version
GEN000540
Vuln IDs
  • V-218225
  • V-1032
Rule IDs
  • SV-218225r603259_rule
  • SV-63659
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.
Checks: C-19700r568576_chk

Check the minimum time period between password changes for each user account is 1 day. # cat /etc/shadow | cut -d ':' -f 4 | grep -v 1 If any results are returned, this is a finding.

Fix: F-19698r568577_fix

Change the minimum time period between password changes for each user account to 1 day. # passwd -n 1 <user name>

c
The system must not have accounts configured with blank or null passwords.
CM-6 - High - CCI-000366 - V-218226 - SV-218226r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN000560
Vuln IDs
  • V-218226
  • V-770
Rule IDs
  • SV-218226r603259_rule
  • SV-63787
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.
Checks: C-19701r561416_chk

Verify the system will not log in accounts with blank passwords. # grep nullok /etc/pam.d/system-auth /etc/pam.d/system-auth-ac If an entry for nullok is found, this is a finding on Linux.

Fix: F-19699r561417_fix

Edit /etc/pam.d/system-auth and remove the "nullok" setting.

b
The system must require passwords contain a minimum of 15 characters.
IA-5 - Medium - CCI-000205 - V-218227 - SV-218227r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000205
Version
GEN000580
Vuln IDs
  • V-218227
  • V-11947
Rule IDs
  • SV-218227r603259_rule
  • SV-63903
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.
Checks: C-19702r554018_chk

Check the system password length setting. Procedure: Check the password minlen option # grep pam_cracklib.so /etc/pam.d/system-auth Confirm the minlen option is set to at least 15 as in the example below: password required pam_cracklib.so minlen=15 There may be other options on the line. If no such line is found, or the minlen is less than 15 this is a finding. # grep PASS_MIN_LEN /etc/login.defs Confirm the PASS_MIN_LEN option is set to at least 15 as in the example below: PASS_MIN_LEN 15 If this line does not exist, or is less than 15, this is a finding.

Fix: F-19700r554019_fix

Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so minlen=15 prior to the "password include system-auth-ac" line. Edit /etc/login.defs to include the line: PASS_MIN_LEN 15

b
The system must enforce compliance of the entire password during authentication.
IA-5 - Medium - CCI-000205 - V-218228 - SV-218228r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000205
Version
GEN000585
Vuln IDs
  • V-218228
  • V-22302
Rule IDs
  • SV-218228r603259_rule
  • SV-63933
Some common password hashing schemes only process the first eight characters of a user's password, which reduces the effective strength of the password.
Checks: C-19703r554021_chk

Verify no valid password hash in /etc/passwd or /etc/shadow begins with a character other than an underscore (_) or dollar sign ($). # cut -d ':' -f2 /etc/passwd # cut -d ':' -f2 /etc/shadow If any valid password hash is present that does not have an initial underscore (_) or dollar sign ($) character, this is a finding. Note: Locked accounts are indicated by a leading exclamation point (!). System accounts, other than "root", may have an asterisk (*) in the password field. On systems utilizing shadow passwords, the password field in /etc/passwd will be a single "x".

Fix: F-19701r554022_fix

Change the passwords for all accounts using non-compliant password hashes. (This requires GEN000590 is already met.)

b
The system must use a FIPS 140-2 approved cryptographic hashing algorithm for generating account password hashes.
IA-7 - Medium - CCI-000803 - V-218229 - SV-218229r603259_rule
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
GEN000590
Vuln IDs
  • V-218229
  • V-22303
Rule IDs
  • SV-218229r603259_rule
  • SV-63943
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 more vulnerable to compromise.
Checks: C-19704r554024_chk

Verify the algorithm used for password hashing is of the SHA-2 family. # egrep "password .* pam_unix.so" /etc/pam.d/system-auth-ac # egrep "ENCRYPT_METHOD" /etc/login.defs # egrep "crypt_style" /etc/libuser.conf If any output indicates the hash algorithm is not set to sha256 or sha512, this is a finding.

Fix: F-19702r554025_fix

Change the default password algorithm. # authconfig --passalgo=sha512 --update NOTE: Executing the above command will also update the required parameters in /etc/login.defs and /etc/libuser.conf

b
The password hashes stored on the system must have been generated using a FIPS 140-2 approved cryptographic hashing algorithm.
IA-5 - Medium - CCI-000196 - V-218230 - SV-218230r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
GEN000595
Vuln IDs
  • V-218230
  • V-22304
Rule IDs
  • SV-218230r603259_rule
  • SV-63949
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 more vulnerable to compromise.
Checks: C-19705r554027_chk

Check all password hashes in /etc/passwd or /etc/shadow begin with '$5$' or '$6$'. Procedure: # cut -d ':' -f2 /etc/passwd # cut -d ':' -f2 /etc/shadow Any password hashes present not beginning with '$5$' or, '$6$' is a finding. Any entries showing only NP, LK, or x are not findings.

Fix: F-19703r554028_fix

Change the passwords for all accounts using non-compliant password hashes. (This requires GEN000590 is already met.)

b
The system must require passwords contain at least one uppercase alphabetic character.
IA-5 - Medium - CCI-000192 - V-218231 - SV-218231r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000192
Version
GEN000600
Vuln IDs
  • V-218231
  • V-11948
Rule IDs
  • SV-218231r603259_rule
  • SV-63973
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.
Checks: C-19706r568579_chk

Check the ucredit setting. # grep ucredit /etc/pam.d/system-auth If ucredit is not set to -1, this is a finding.

Fix: F-19704r568580_fix

Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so ucredit=-1 prior to the "password include system-auth-ac" line.

b
Global settings defined in system-auth must be applied in the pam.d definition files.
IA-5 - Medium - CCI-000192 - V-218232 - SV-218232r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000192
Version
GEN000600-2
Vuln IDs
  • V-218232
  • V-27285
Rule IDs
  • SV-218232r603259_rule
  • SV-63987
Pam global requirements are generally defined in the /etc/pam.d/system-auth or /etc/pam.d/system-auth-ac file. In order for the requirements to be applied the file containing them must be included directly or indirectly in each program's definition file in /etc/pam.d
Checks: C-19707r568657_chk

Verify the system-auth settings are being applied. Procedure: Verify the additional pam.d requirements are in use. The file "/etc/pam.d/system-auth-ac" is auto generated by "authconfig". Any manual changes made to it will be lost next time "authconfig" is run. Check to see if the systems default of the symlink "/etc/pam.d/system-auth" pointing to "/etc/pam.d/system-auth-ac" has been changed. # ls -l /etc/pam.d/system-auth If the symlink points to "/etc/pam.d/system-auth-ac", manual changes cannot be protected. This is a finding. # grep system-auth-ac /etc/pam.d/system-auth The local system-auth file pointed to by "/etc/pam.d/system-auth" must contain "/etc/pam.d/system-auth-ac" for the auth, account, password, and session lines. If it does not then the parameters maintained by "authconfig" will not be applied, this is a finding.

Fix: F-19705r568658_fix

By default, the operating system delivers /etc/pam.d/system-auth as a symbolic link to /etc/pam.d/system-auth-ac (an automatically generated file). When a site adds password requirements a new system-auth-local file must be created with only the additional requirements and includes for auth, account, passwd and session pointing to "/etc/pam.d/system-auth-ac". Then the symlink "/etc/system-auth" is modified to point to "/etc/pam.d/system-auth-local". This way any changes made do not get lost when "/etc/pam.d/system-auth-ac" is regenerated and each program's pam.d definition file need only have "include system-auth" for auth, account, passwd and session, as needed, in order to assure the password requirements will be applied to it.

b
The system must require passwords contain at least one lowercase alphabetic character.
IA-5 - Medium - CCI-000193 - V-218233 - SV-218233r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000193
Version
GEN000610
Vuln IDs
  • V-218233
  • V-22305
Rule IDs
  • SV-218233r603259_rule
  • SV-64065
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.
Checks: C-19708r568660_chk

Check /etc/pam.d/system-auth for lcredit setting. Procedure: Check the password lcredit option # grep pam_cracklib.so /etc/pam.d/system-auth Confirm the lcredit option is set to -1 as in the example: password required pam_cracklib.so lcredit=-1 There may be other options on the line. If no such line is found, or the lcredit is not -1 this is a finding.

Fix: F-19706r568661_fix

Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so lcredit=-1 prior to the "password include system-auth-ac" line.

b
The system must require passwords contain at least one numeric character.
IA-5 - Medium - CCI-000194 - V-218234 - SV-218234r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000194
Version
GEN000620
Vuln IDs
  • V-218234
  • V-11972
Rule IDs
  • SV-218234r603259_rule
  • SV-64071
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.
Checks: C-19709r568663_chk

Check the dcredit setting. Procedure: Check the password dcredit option # grep pam_cracklib.so /etc/pam.d/system-auth Confirm the dcredit option is set to -1 as in the example: password required pam_cracklib.so dcredit=-1 There may be other options on the line. If no such line is found, or the dcredit option is not -1 this is a finding.

Fix: F-19707r568664_fix

Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so dcredit=-1 prior to the "password include system-auth-ac" line.

b
The system must require passwords contain at least one special character.
IA-5 - Medium - CCI-001619 - V-218235 - SV-218235r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-001619
Version
GEN000640
Vuln IDs
  • V-218235
  • V-11973
Rule IDs
  • SV-218235r603259_rule
  • SV-64075
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.
Checks: C-19710r568666_chk

Check the ocredit setting. Procedure: Check the password ocredit option # grep pam_cracklib.so /etc/pam.d/system-auth Confirm the ocredit option is set to -1 as in the example: password required pam_cracklib.so ocredit=-1 There may be other options on the line. If no such line is found, or the ocredit is not -1 this is a finding.

Fix: F-19708r568667_fix

Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so ocredit=-1 prior to the "password include system-auth-ac" line.

b
The system must require passwords contain no more than three consecutive repeating characters.
CM-6 - Medium - CCI-000366 - V-218236 - SV-218236r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000680
Vuln IDs
  • V-218236
  • V-11975
Rule IDs
  • SV-218236r603259_rule
  • SV-64079
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.
Checks: C-19711r554045_chk

Check the maxrepeat setting. Procedure: Check the password maxrepeat configuration # grep pam_cracklib.so /etc/pam.d/system-auth If the maxrepeat option is missing, this is a finding. If the maxrepeat option is set to more than 3, this is a finding.

Fix: F-19709r554046_fix

Edit "/etc/pam.d/system-auth" to include the line: password required pam_cracklib.so maxrepeat=3 prior to the "password include system-auth-ac" line.

b
User passwords must be changed at least every 60 days.
IA-5 - Medium - CCI-000180 - V-218237 - SV-218237r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000180
Version
GEN000700
Vuln IDs
  • V-218237
  • V-11976
Rule IDs
  • SV-218237r603259_rule
  • SV-64083
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.
Checks: C-19712r554048_chk

Check the max days field (the 5th field) of /etc/shadow. # more /etc/shadow If the max days field is equal to 0 or greater than 60 for any user, this is a finding.

Fix: F-19710r554049_fix

Set the max days field to 60 for all user accounts. # passwd -x 60 <user>

b
All non-interactive/automated processing account passwords must be changed at least once per year or be locked.
IA-5 - Medium - CCI-000199 - V-218238 - SV-218238r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000199
Version
GEN000740
Vuln IDs
  • V-218238
  • V-11977
Rule IDs
  • SV-218238r603259_rule
  • SV-64091
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.
Checks: C-19713r568669_chk

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 or are locked. If SA indicates passwords for automated processing accounts are not changed once per year or are not locked, this is a finding.

Fix: F-19711r568670_fix

Implement or establish procedures to change the passwords of automated processing accounts at least once per year or lock them.

b
The system must require at least eight characters be changed between the old and new passwords during a password change.
IA-5 - Medium - CCI-000195 - V-218239 - SV-218239r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000195
Version
GEN000750
Vuln IDs
  • V-218239
  • V-22306
Rule IDs
  • SV-218239r603259_rule
  • SV-64283
To ensure password changes are effective in their goals, the system must ensure that 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.
Checks: C-19714r568672_chk

Check /etc/pam.d/system-auth for a pam_cracklib parameter difok. Procedure: # grep difok /etc/pam.d/system-auth If difok is not present, or has a value less than 8, this is a finding. Check for system-auth-ac inclusions. # grep -c system-auth-ac /etc/pam.d/* If the system-auth-ac file is included anywhere # more /etc/pam.d/system-auth-ac | grep difok If system-auth-ac is included anywhere and difok is not present, or has a value less than 8, this is a finding. Ensure the passwd command uses the system-auth settings. # grep system-auth /etc/pam.d/passwd If a line "password include system-auth" is not found then the password checks in system-auth will not be applied to new passwords.

Fix: F-19712r568673_fix

If /etc/pam.d/system-auth references /etc/pam.d/system-auth-ac refer to the man page for system-auth-ac for a description of how to add options not configurable with authconfig. Edit /etc/pam.d/system-auth and add or edit a pam_cracklib entry with a difok parameter set equal to or greater than 8.

b
Accounts must be locked upon 35 days of inactivity.
AC-2 - Medium - CCI-000017 - V-218240 - SV-218240r603259_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000017
Version
GEN000760
Vuln IDs
  • V-218240
  • V-918
Rule IDs
  • SV-218240r603259_rule
  • SV-64285
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.
Checks: C-19715r568675_chk

Indications of inactive accounts are those that have no entries in the "last" log. Check the date in the "last" log to verify it is within the last 35 days or the maximum numbers of days set by the site if more restrictive. If an inactive account is not disabled via an entry in the password field in the /etc/passwd or /etc/shadow (or equivalent), check the /etc/passwd file to check if the account has a valid shell. The passwd command can also be used to list a status for an account. For example, the following may be used to provide status information on each local account: NOTE: The following must be done in the BASH shell. # cut -d: -f1 /etc/passwd | xargs -n1 passwd -S If an inactive account is found not disabled, this is a finding.

Fix: F-19713r568676_fix

All inactive accounts will have /sbin/nologin (or an equivalent), as the default shell in the /etc/passwd file and have the password disabled. Examine the user 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 or the maximum number of days set by the site, not to exceed 35 days, then disable the accounts using system-config-users tool. Alternately place a shell field of /sbin/nologin /bin/false or /dev/null in the passwd file entry for the account.

b
The system must prevent the use of dictionary words for passwords.
IA-5 - Medium - CCI-000189 - V-218241 - SV-218241r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000189
Version
GEN000790
Vuln IDs
  • V-218241
  • V-22307
Rule IDs
  • SV-218241r603259_rule
  • SV-64303
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 that uses repeated logon attempts until the correct account and password pair is guessed. Utilities, such as cracklib, can be used to validate passwords are not dictionary words and meet other criteria during password changes.
Checks: C-19716r568678_chk

Check /etc/pam.d/system-auth for pam_cracklib configuration. Procedure: # grep pam_cracklib /etc/pam.d/system-auth* If pam_cracklib is not present. This is a finding. If pam_cracklib is present only in /etc/pam.d/system-auth-ac: ensure that /etc/pam.d/system-auth includes /etc/pam.d/system-auth-ac. #grep system-auth-ac /etc/pam.d/system-auth This should return: auth include system-auth-ac account include system-auth-ac password include system-auth-ac session include system-auth-ac /etc/pam.d/system-auth-ac should only be included by /etc/pam.d/system-auth. All other pam files should include /etc/pam.d/system-auth. If pam_cracklib is not defined in /etc/pam.d/system-auth either directly or through inclusion of system-auth-ac, this is a finding. Ensure the passwd command uses the system-auth settings. # grep system-auth /etc/pam.d/passwd If a line "password include system-auth" is not found then the password checks in system-auth will not be applied to new passwords, this is a finding.

Fix: F-19714r568679_fix

If /etc/pam.d/system-auth references /etc/pam.d/system-auth-ac refer to the man page for system-auth-ac for a description of how to add options not configurable with authconfig. Edit /etc/pam.d/system-auth and configure pam_cracklib by adding a line such as "password required pam_cracklib.so"

b
The system must prohibit the reuse of passwords within five iterations.
IA-5 - Medium - CCI-000200 - V-218242 - SV-218242r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000200
Version
GEN000800
Vuln IDs
  • V-218242
  • V-4084
Rule IDs
  • SV-218242r603259_rule
  • SV-64321
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.
Checks: C-19717r568681_chk

# ls /etc/security/opasswd If /etc/security/opasswd does not exist, then this is a finding. # grep password /etc/pam.d/system-auth| egrep '(pam_pwhistory.so|pam_unix.so|pam_cracklib.so)' | grep remember If the "remember" option in /etc/pam.d/system-auth is not 5 or greater, this is a finding. Check for system-auth-ac inclusions. # grep -c system-auth-ac /etc/pam.d/* If the system-auth-ac file is included anywhere, this is a finding. # more /etc/pam.d/system-auth-ac | grep password | egrep '(pam_pwhistory.so|pam_unix.so|pam_cracklib.so)' | grep remember If in /etc/pam.d/system-auth-ac is referenced by another file and the "remember" option is not set to 5 or greater, this is a finding.

Fix: F-19715r568682_fix

Create the password history file. # touch /etc/security/opasswd # chown root:root /etc/security/opasswd # chmod 0600 /etc/security/opasswd Enable password history. If /etc/pam.d/system-auth references /etc/pam.d/system-auth-ac refer to the man page for system-auth-ac for a description of how to add options not configurable with authconfig. Edit /etc/pam.d/system-auth to include the remember option on any "password pam_unix" or "password pam_pwhistory" lines set to at least 5.

a
The system must restrict the ability to switch to the root user to members of a defined group.
AC-2 - Low - CCI-000009 - V-218243 - SV-218243r603259_rule
RMF Control
AC-2
Severity
Low
CCI
CCI-000009
Version
GEN000850
Vuln IDs
  • V-218243
  • V-22308
Rule IDs
  • SV-218243r603259_rule
  • SV-64327
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.
Checks: C-19718r561578_chk

Check /etc/pam.d/su uses pam_wheel. # grep pam_wheel /etc/pam.d/su If pam_wheel is not present, or is commented out, this is a finding.

Fix: F-19716r561579_fix

Edit /etc/pam.d/su and uncomment or add a line such as "auth required pam_wheel.so". If necessary, create a "wheel" group and add administrative users to the group.

b
The root account must be the only account having a UID of 0.
CM-6 - Medium - CCI-000366 - V-218244 - SV-218244r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000880
Vuln IDs
  • V-218244
  • V-773
Rule IDs
  • SV-218244r603259_rule
  • SV-64341
If an account has a UID of 0, it has root authority. Multiple accounts with a UID of 0 afford more opportunity for potential intruders to guess a password for a privileged account.
Checks: C-19719r554069_chk

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

Fix: F-19717r554070_fix

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

a
The root users home directory must not be the root directory (/).
CM-6 - Low - CCI-000366 - V-218245 - SV-218245r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN000900
Vuln IDs
  • V-218245
  • V-774
Rule IDs
  • SV-218245r603259_rule
  • SV-64353
Changing the root home directory to something other than / and assigning it a 0700 protection makes it more difficult for intruders to manipulate the system by reading the files root places in its default directory. It also gives root the same discretionary access control for root's home directory as for the other user home directories.
Checks: C-19720r561419_chk

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

Fix: F-19718r561420_fix

The root home directory should be something other than / (such as /roothome). Procedure: # mkdir /rootdir # chown root /rootdir # chgrp root /rootdir # chmod 700 /rootdir # cp -r /.??* /rootdir/. Then, edit the passwd file and change the root home directory to /rootdir. The cp -r /.??* command copies all files and subdirectories of file names beginning with "." into the new root directory, which preserves the previous root environment. Ensure you are in the "/" directory when executing the "cp" command.

b
The root accounts home directory (other than /) must have mode 0700 or less permissive.
AC-6 - Medium - CCI-000225 - V-218246 - SV-218246r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000920
Vuln IDs
  • V-218246
  • V-775
Rule IDs
  • SV-218246r603259_rule
  • SV-64359
Permissions greater than 0700 could allow unauthorized users access to the root home directory.
Checks: C-19721r561422_chk

Check the mode of the root home directory. Procedure: # find ~root -type d -prune -exec ls -ld {} \; If the home directory is /, this check will be marked "Not Applicable". If the mode of the directory is not set to 0700 or less permissive, this is a finding.

Fix: F-19719r561423_fix

The root home directory will be configured to have permission set of 0700 or less permissive. Do not change the protections of the / directory. Use the following command to change protections for the root home directory: # chmod 0700 /rootdir.

b
The root accounts home directory must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218247 - SV-218247r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN000930
Vuln IDs
  • V-218247
  • V-22309
Rule IDs
  • SV-218247r603259_rule
  • SV-64363
File system extended ACLs provide access to files beyond what is allowed by the UNIX permissions of the files.
Checks: C-19722r568684_chk

Check the root account's home directory has no extended ACL. # find ~root -type d -prune -exec ls -ld {} \; If the permissions include a '+' the directory has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19720r568685_fix

Remove the extended ACL from the root account's home directory. # setfacl --remove-all <root home directory>

b
The root accounts executable search path must be the must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-218248 - SV-218248r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000940
Vuln IDs
  • V-218248
  • V-776
Rule IDs
  • SV-218248r603259_rule
  • SV-64373
The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory or other relative paths, executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Entries starting with a slash (/) are absolute paths.
Checks: C-19723r561425_chk

To view the root user's PATH, log in as the root user, and execute: # env | grep PATH This variable is formatted as a colon-separated list of directories. Relative path entries must be document with the ISSO. Such as a leading or trailing colon, two consecutive colons, or a single period this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-19721r561426_fix

Edit the root user's local initialization files ~/.profile,~/.bashrc (assuming root shell is bash). Remove any relative path entries that have not been documented with the ISSO. Remove any empty path entries that are defined in these files.

b
The root accounts library search path must be the system default and must contain only absolute paths.
CM-6 - Medium - CCI-000366 - V-218249 - SV-218249r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000945
Vuln IDs
  • V-218249
  • V-22310
Rule IDs
  • SV-218249r603259_rule
  • SV-64377
The library search path environment variable(s) contain a list of directories for the dynamic linker to search to find libraries. If this path includes the current working directory or other relative paths, libraries in these directories may be loaded instead of system libraries. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is interpreted as the current working directory. Entries starting with a slash (/) are absolute paths.
Checks: C-19724r568687_chk

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

Fix: F-19722r568688_fix

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

b
The root accounts list of preloaded libraries must be empty.
CM-6 - Medium - CCI-000366 - V-218250 - SV-218250r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000950
Vuln IDs
  • V-218250
  • V-22311
Rule IDs
  • SV-218250r603259_rule
  • SV-64383
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.
Checks: C-19725r568690_chk

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

Fix: F-19723r568691_fix

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

b
The root account must not have world-writable directories in its executable search path.
CM-6 - Medium - CCI-000366 - V-218251 - SV-218251r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000960
Vuln IDs
  • V-218251
  • V-777
Rule IDs
  • SV-218251r603259_rule
  • SV-64387
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.
Checks: C-19726r554090_chk

Check for world-writable permissions on all directories in the root user's executable search path. Procedure: # ls -ld `echo $PATH | sed "s/:/ /g"` If any of the directories in the PATH variable are world-writable, this is a finding.

Fix: F-19724r554091_fix

For each world-writable path in root's executable search path, do one of the following: 1. Remove the world-writable permission on the directory. Procedure: # chmod o-w <path> 2. Remove the world-writable directory from the executable search path. Procedure: Identify and edit the initialization file referencing the world-writable directory and remove it from the PATH variable.

b
The system must prevent the root account from directly logging in except from the system console.
IA-2 - Medium - CCI-000770 - V-218252 - SV-218252r603259_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000770
Version
GEN000980
Vuln IDs
  • V-218252
  • V-778
Rule IDs
  • SV-218252r603259_rule
  • SV-64389
Limiting the root account direct logins to only system consoles protects the root account from direct unauthorized access from a non-console device.
Checks: C-19727r554093_chk

Check /etc/securetty # more /etc/securetty If the file does not exist, or contains more than "console" or a single "tty" device this is a finding.

Fix: F-19725r554094_fix

Create if needed and set the contents of /etc/securetty to a "console" or "tty" device. # echo console > /etc/securetty or # echo tty1 > /etc/securetty

b
Remote consoles must be disabled or protected from unauthorized access.
CM-6 - Medium - CCI-000366 - V-218253 - SV-218253r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001000
Vuln IDs
  • V-218253
  • V-4298
Rule IDs
  • SV-218253r603259_rule
  • SV-64393
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.
Checks: C-19728r568693_chk

Check /etc/securetty # more /etc/securetty If the file does not exist, or contains more than "console" or a single "tty" device this is a finding.

Fix: F-19726r568694_fix

Create if needed and set the contents of /etc/securetty to a "console" or "tty" device. # echo console > /etc/securetty or # echo tty1 > /etc/securetty

b
The root account must not be used for direct log in.
IA-2 - Medium - CCI-000770 - V-218254 - SV-218254r603259_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000770
Version
GEN001020
Vuln IDs
  • V-218254
  • V-11979
Rule IDs
  • SV-218254r603259_rule
  • SV-64397
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.
Checks: C-19729r568696_chk

Check if root is used for direct logins. Procedure: # last root | grep -v reboot Direct logins are indicated by the presence of a terminal or pseudo-terminal ID and/or X display name in the output of the last command. If any direct login records for root are listed, this is a finding.

Fix: F-19727r568697_fix

Enforce policy requiring all root account access is attained by first logging into a user account and then becoming root preferably through the use of "sudo" which provides traceability to the command level. If that is not workable then using "su" to access the root account will provide traceability to the login user.

b
The sudo command must require authentication.
IA-11 - Medium - CCI-002038 - V-218255 - SV-218255r603259_rule
RMF Control
IA-11
Severity
Medium
CCI
CCI-002038
Version
GEN001025
Vuln IDs
  • V-218255
  • V-58539
Rule IDs
  • SV-218255r603259_rule
  • SV-75261
The "sudo" command allows authorized users to run programs (including shells) as other users, system users, and root. The "/etc/sudoers" file is used to configure authorized "sudo" users as well as the programs they are allowed to run. Some configuration options in the "/etc/sudoers" file allow configured users to run programs without re-authenticating. Use of these configuration options makes it easier for one compromised account to be used to compromise other accounts.
Checks: C-19730r568699_chk

Verify neither the "NOPASSWD" option nor the "!authenticate" option is configured for use in "/etc/sudoers" and associated files. Note that the "#include" and "#includedir" directives may be used to include configuration data from locations other than the defaults enumerated here. # egrep '^[^#]*NOPASSWD' /etc/sudoers /etc/sudoers.d/* # egrep '^[^#]*!authenticate' /etc/sudoers /etc/sudoers.d/* If the "NOPASSWD" or "!authenticate" options are configured for use in "/etc/sudoers" or associated files, this is a finding.

Fix: F-19728r568700_fix

Update the "/etc/sudoers" or other sudo configuration files to remove or comment out lines utilizing the "NOPASSWD" and "!authenticate" options. # visudo # visudo -f [other sudo configuration file]

b
The system must log successful and unsuccessful access to the root account.
AU-2 - Medium - CCI-000126 - V-218256 - SV-218256r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN001060
Vuln IDs
  • V-218256
  • V-11980
Rule IDs
  • SV-218256r603259_rule
  • SV-64435
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.
Checks: C-19731r554105_chk

Check the log files to determine if access to the root account is being logged. Procedure: Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Examine /etc/syslog.conf or /etc/rsyslog.conf to confirm the location to which "authpriv" messages will be directed. The default syslog.conf or rsyslog.conf uses /var/log/messages and /var/log/secure but this needs to be confirmed. # grep @ /etc/syslog.conf Or: # grep @ /etc/rsyslog.conf If a line starting with "*.*" is returned then all syslog messages will be sent to system whose address appears after the "@". In this case syslog may or may not be configured to also log "authpriv" messages locally. # grep authpriv /etc/syslog.conf Or: # grep authpriv /etc/rsyslog.conf If any lines are returned which do not start with "#" the "authpriv" messages will be sent to the indicated files or remote systems. Try to "su -" and enter an incorrect password. If there are no records indicating the authentication failure, this is a finding.

Fix: F-19729r554106_fix

Troubleshoot the system logging configuration to provide for logging of root account login attempts. Procedure: Edit /etc/syslog.conf or /etc/rsyslog.conf to make sure "authpriv.*" messages are directed to a file or remote system. Examine /etc/audit/audit.rules to ensure user authentication messages have not been specifically excluded. Remove any entries that correspond to: -a exclude,never -Fmsgtype=USER_START -a exclude,never -Fmsgtype=USER_LOGIN -a exclude,never -Fmsgtype=USER_AUTH -a exclude,never -Fmsgtype=USER_END -a exclude,never -Fmsgtype=USER_ACCT

a
The root shell must be located in the / file system.
CM-6 - Low - CCI-000366 - V-218257 - SV-218257r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN001080
Vuln IDs
  • V-218257
  • V-1062
Rule IDs
  • SV-218257r603259_rule
  • SV-64441
To ensure the root shell is available in repair and administrative modes, the root shell must be located in the / file system.
Checks: C-19732r554108_chk

Determine if root's shell executable resides on a dedicated file system. Procedure: Find the location of the root user's shell # grep "^root" /etc/passwd|cut -d: -f7|cut -d/ -f2 The result is the top level directory under / where the shell resides (e.g., usr) Check if it is on a dedicated file system. # grep /&lt;top level directory&gt; /etc/fstab If /&lt;top level directory&gt; is on a dedicated file system, this is a finding.

Fix: F-19730r554109_fix

Change the root account's shell to one present on the / file system. Procedure: Edit /etc/passwd and change the shell for the root account to one present on the / file system (such as /bin/sh, assuming /bin is not on a separate file system). If the system does not store shell configuration in the /etc/passwd file, consult vendor documentation for the correct procedure for the system.

c
Root passwords must never be passed over a network in clear text form.
IA-5 - High - CCI-000197 - V-218258 - SV-218258r603259_rule
RMF Control
IA-5
Severity
High
CCI
CCI-000197
Version
GEN001100
Vuln IDs
  • V-218258
  • V-1046
Rule IDs
  • SV-218258r603259_rule
  • SV-64449
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.
Checks: C-19733r568702_chk

Determine if root has logged in over an unencrypted network connection. Examine /etc/syslog.conf to confirm the location to which "authpriv" messages are being sent. # grep authpriv.* /etc/syslog.conf Once the file is determined, perform the following command: # grep password &lt;file&gt; | more Look for any lines that do not have sshd as the associated service. If root has logged in over the network and sshd is not running, this is a finding.

Fix: F-19731r568703_fix

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

b
The system must not permit root logins using remote access programs such as ssh.
IA-2 - Medium - CCI-000770 - V-218259 - SV-218259r603259_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000770
Version
GEN001120
Vuln IDs
  • V-218259
  • V-1047
Rule IDs
  • SV-218259r603259_rule
  • SV-64455
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.
Checks: C-19734r554114_chk

Determine if the SSH daemon is configured to permit root logins. Procedure: # grep -v "^#" /etc/ssh/sshd_config | grep -i permitrootlogin If the PermitRootLogin entry is not found or is not set to "no", this is a finding.

Fix: F-19732r554115_fix

Edit the sshd_config file and set the PermitRootLogin option to "no".

b
System files and directories must not have uneven access permissions.
AC-6 - Medium - CCI-000225 - V-218260 - SV-218260r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001140
Vuln IDs
  • V-218260
  • V-784
Rule IDs
  • SV-218260r603259_rule
  • SV-64461
Discretionary access control is undermined if users, other than a file owner, have greater access permissions to system files and directories than the owner.
Checks: C-19735r561428_chk

Check system directories for uneven file permissions. Procedure: # ls -lL /etc /bin /usr/bin /usr/lbin /usr/usb /sbin /usr/sbin Uneven file permissions exist if the file owner has less permissions than the group or other user classes. If any of the files in the above listed directories contain uneven file permissions, this is a finding.

Fix: F-19733r561429_fix

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

b
All files and directories must have a valid owner.
CM-6 - Medium - CCI-000366 - V-218261 - SV-218261r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001160
Vuln IDs
  • V-218261
  • V-785
Rule IDs
  • SV-218261r603259_rule
  • SV-64463
Un-owned files and directories may be unintentionally inherited if a user is assigned the same UID as the UID of the un-owned files.
Checks: C-19736r554120_chk

Check the system for files with no assigned owner. Procedure: # find / -ignore_readdir_race -nouser If any files have no assigned owner, this is a finding. Caution should be used when centralized authorization is used because valid files may appear as unowned due to communication issues.

Fix: F-19734r554121_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.

b
All files and directories must have a valid group-owner.
CM-6 - Medium - CCI-000366 - V-218262 - SV-218262r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001170
Vuln IDs
  • V-218262
  • V-22312
Rule IDs
  • SV-218262r603259_rule
  • SV-64465
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.
Checks: C-19737r554123_chk

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

Fix: F-19735r554124_fix

Change the group-owner for each file without a valid group-owner. # chgrp avalidgroup /tmp/a-file-without-a-valid-group-owner

b
All network services daemon files must have mode 0755 or less permissive.
AC-6 - Medium - CCI-000225 - V-218263 - SV-218263r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001180
Vuln IDs
  • V-218263
  • V-786
Rule IDs
  • SV-218263r603259_rule
  • SV-64467
Restricting permission on daemons will protect them from unauthorized modification and possible system compromise.
Checks: C-19738r561431_chk

Check the mode of network services daemons. # find /usr/sbin -type f -perm +022 -exec stat -c %a:%n {} \; This will return the octal permissions and name of all files that are group or world writable. If any network services daemon listed is world or group writable (either or both of the 2 lowest order digits contain a 2, 3 or 6), this is a finding. Note: Network daemons not residing in these directories (such as httpd or sshd) must also be checked for the correct permissions.

Fix: F-19736r561432_fix

Change the mode of the network services daemon. # chmod go-w <path>

b
All network services daemon files must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218264 - SV-218264r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001190
Vuln IDs
  • V-218264
  • V-22313
Rule IDs
  • SV-218264r603259_rule
  • SV-64473
Restricting permission on daemons will protect them from unauthorized modification and possible system compromise.
Checks: C-19739r568705_chk

Check network services daemon files have no extended ACLs. # ls -la /usr/sbin If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding. Note: Network daemons not residing in these directories must also be checked.

Fix: F-19737r568706_fix

Remove the extended ACL from the file. # setfacl --remove-all /usr/sbin/*

b
All system command files must have mode 0755 or less permissive.
CM-5 - Medium - CCI-001499 - V-218265 - SV-218265r603259_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
GEN001200
Vuln IDs
  • V-218265
  • V-794
Rule IDs
  • SV-218265r603259_rule
  • SV-64477
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.
Checks: C-19740r568708_chk

Check the permissions for files in /etc, /bin, /usr/bin, /usr/lbin, /usr/ucb, /sbin, and /usr/sbin. Procedure: # DIRS="/etc /bin /usr/bin /usr/lbin /usr/ucb /sbin /usr/sbin";for DIR in $DIRS;do find $DIR -type f -perm +022 -exec stat -c %a:%n {} \;;done This will return the octal permissions and name of all group or world writable files. If any command file is listed and is world or group writable (either or both of the 2 lowest order digits contain a 2, 3, or 6), this is a finding. Note: Elevate to Severity Code I if any command file listed is world writable.

Fix: F-19738r568709_fix

Change the mode for system command files to 0755 or less permissive taking into account necessary GIUD and SUID bits. Procedure: # chmod go-w <filename>

b
All system command files must not have extended ACLs.
CM-5 - Medium - CCI-001499 - V-218266 - SV-218266r603259_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
GEN001210
Vuln IDs
  • V-218266
  • V-22314
Rule IDs
  • SV-218266r603259_rule
  • SV-64479
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.
Checks: C-19741r568711_chk

Check all system command files have no extended ACLs. # ls -lL /etc /bin /usr/bin /usr/lbin /usr/usb /sbin /usr/sbin If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19739r568712_fix

Remove the extended ACL from the file. # setfacl --remove-all [file with extended ACL]

b
All system files, programs, and directories must be owned by a system account.
CM-5 - Medium - CCI-001499 - V-218267 - SV-218267r603259_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
GEN001220
Vuln IDs
  • V-218267
  • V-795
Rule IDs
  • SV-218267r603259_rule
  • SV-64483
Restricting permissions will protect the files from unauthorized modification.
Checks: C-19742r554138_chk

Check the ownership of system files, programs, and directories. Procedure: # ls -lLa /etc /bin /usr/bin /usr/lbin /usr/usb /sbin /usr/sbin If any of the system files, programs, or directories are not owned by a system account, this is a finding.

Fix: F-19740r554139_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.)

b
System files, programs, and directories must be group-owned by a system group.
CM-5 - Medium - CCI-001499 - V-218268 - SV-218268r603259_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
GEN001240
Vuln IDs
  • V-218268
  • V-796
Rule IDs
  • SV-218268r603259_rule
  • SV-64485
Restricting permissions will protect the files from unauthorized modification.
Checks: C-19743r554141_chk

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

Fix: F-19741r554142_fix

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

b
System log files must have mode 0640 or less permissive.
SI-11 - Medium - CCI-001314 - V-218269 - SV-218269r603259_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
GEN001260
Vuln IDs
  • V-218269
  • V-787
Rule IDs
  • SV-218269r603259_rule
  • SV-64487
If the system log files are not protected, unauthorized users could change the logged data, eliminating its forensic value.
Checks: C-19744r554144_chk

Check the mode of log files. Procedure: # find /var/log /var/log/syslog /var/adm -type f -perm -640 \! -perm 640 With the exception of /var/log/wtmp, /var/log/Xorg.0.log, and /var/log/gdm/:0.log, if any of the log files have modes more permissive than 0640, this is a finding.

Fix: F-19742r554145_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.

b
System log files must not have extended ACLs, except as needed to support authorized software.
SI-11 - Medium - CCI-001314 - V-218270 - SV-218270r603259_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
GEN001270
Vuln IDs
  • V-218270
  • V-22315
Rule IDs
  • SV-218270r603259_rule
  • SV-64493
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.
Checks: C-19745r568714_chk

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

Fix: F-19743r568715_fix

Remove the extended ACL from the file. Procedure: # setfacl --remove-all [file with extended ACL]

a
Manual page files must have mode 0644 or less permissive.
AC-6 - Low - CCI-000225 - V-218271 - SV-218271r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN001280
Vuln IDs
  • V-218271
  • V-792
Rule IDs
  • SV-218271r603259_rule
  • SV-64517
If manual pages are compromised, misleading information could be inserted, causing actions to compromise the system.
Checks: C-19746r568717_chk

Check the mode of the manual page files. Procedure: # find /usr/share/man /usr/share/info /usr/share/infopage -type f -perm +022 -exec stat -c %a:%n {} \; |&gt; more Note: This list only displays manual files with offending permissions. If any of the manual page files have a mode more permissive than 0644, this is a finding.

Fix: F-19744r568718_fix

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

a
All manual page files must not have extended ACLs.
AC-6 - Low - CCI-000225 - V-218272 - SV-218272r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN001290
Vuln IDs
  • V-218272
  • V-22316
Rule IDs
  • SV-218272r603259_rule
  • SV-64521
If manual pages are compromised, misleading information could be inserted, causing actions to compromise the system.
Checks: C-19747r561617_chk

Verify all manual page files have no extended ACLs. # ls -lLR /usr/share/man /usr/share/info /usr/share/infopage If the permissions include a '+', the file has an extended ACL this is a finding.

Fix: F-19745r561618_fix

Remove the extended ACL from the file. # setfacl --remove-all /usr/share/man/* /usr/share/info/* /usr/share/infopage/*

b
Library files must have mode 0755 or less permissive.
CM-5 - Medium - CCI-001499 - V-218273 - SV-218273r603259_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
GEN001300
Vuln IDs
  • V-218273
  • V-793
Rule IDs
  • SV-218273r603259_rule
  • SV-64525
Unauthorized access could destroy the integrity of the library files.
Checks: C-19748r554156_chk

Check the mode of library files. Procedure: # DIRS="/usr/lib /lib /usr/lib64 /lib64";for DIR in $DIRS;do find $DIR -type f -perm +022 -exec stat -c %a:%n {} \;;done This will return the octal permissions and name of all group or world writable files. If any file listed is world or group writable (either or both of the 2 lowest order digits contain a 2, 3 or 6), this is a finding.

Fix: F-19746r554157_fix

Change the mode of library files to 0755 or less permissive. Procedure (example): # chmod go-w </path/to/library-file> Note: Library files should have an extension of ".a" or a ".so" extension, possibly followed by a version number.

b
All library files must not have extended ACLs.
CM-5 - Medium - CCI-001499 - V-218274 - SV-218274r603259_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
GEN001310
Vuln IDs
  • V-218274
  • V-22317
Rule IDs
  • SV-218274r603259_rule
  • SV-64531
Unauthorized access could destroy the integrity of the library files.
Checks: C-19749r554159_chk

Verify system libraries have no extended ACLs. # ls -lLR /usr/lib/ /lib/ /usr/lib64 /lib64 | grep "+ " If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and has not been approved by the IAO, this is a finding.

Fix: F-19747r554160_fix

Remove the extended ACL from the file. # setfacl --remove-all /usr/lib/* /lib/*

b
NIS/NIS+/yp files must be owned by root, sys, or bin.
AC-6 - Medium - CCI-000225 - V-218275 - SV-218275r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001320
Vuln IDs
  • V-218275
  • V-789
Rule IDs
  • SV-218275r603259_rule
  • SV-64537
NIS/NIS+/yp files are part of the system's identification and authentication processes and are 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.
Checks: C-19750r561434_chk

Perform the following to check NIS file ownership: # ls -la /var/yp/*; If the file ownership is not root, sys, or bin, this is a finding.

Fix: F-19748r561435_fix

Change the ownership of NIS/NIS+/yp files to root, sys or bin. Procedure (example): # chown root <filename>

b
NIS/NIS+/yp files must be group-owned by root, sys, or bin.
AC-6 - Medium - CCI-000225 - V-218276 - SV-218276r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001340
Vuln IDs
  • V-218276
  • V-790
Rule IDs
  • SV-218276r603259_rule
  • SV-64515
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.
Checks: C-19751r561437_chk

Perform the following to check NIS file group ownership: # ls -la /var/yp/* If the file group ownership is not root, sys, or bin, this is a finding.

Fix: F-19749r561438_fix

Perform the following to change NIS file ownership. # chgrp root /var/yp/*

b
The NIS/NIS+/yp command files must have mode 0755 or less permissive.
AC-6 - Medium - CCI-000225 - V-218277 - SV-218277r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001360
Vuln IDs
  • V-218277
  • V-791
Rule IDs
  • SV-218277r603259_rule
  • SV-64509
NIS/NIS+/yp files are part of the system's identification and authentication processes and are critical to system security. Unauthorized modification of these files could compromise these processes and the system.
Checks: C-19752r561620_chk

Perform the following to check NIS file permissions. # ls -la /var/yp/* If the file's mode is more permissive than 0755, this is a finding.

Fix: F-19750r561621_fix

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

b
NIS/NIS+/yp command files must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218278 - SV-218278r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001361
Vuln IDs
  • V-218278
  • V-22318
Rule IDs
  • SV-218278r603259_rule
  • SV-64503
NIS/NIS+/yp files are part of the system's identification and authentication processes and are critical to system security. ACLs on these files could result in unauthorized modification, which could compromise these processes and the system.
Checks: C-19753r561623_chk

Verify NIS/NIS+/yp files have no extended ACLs. # ls -lL /var/yp/* If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19751r561624_fix

Remove the extended ACL from the file. # setfacl --remove-all /var/yp/*

b
The /etc/resolv.conf file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218279 - SV-218279r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001362
Vuln IDs
  • V-218279
  • V-22319
Rule IDs
  • SV-218279r603259_rule
  • SV-64497
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.
Checks: C-19754r568720_chk

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

Fix: F-19752r568721_fix

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

b
The /etc/resolv.conf file must be group-owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218280 - SV-218280r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001363
Vuln IDs
  • V-218280
  • V-22320
Rule IDs
  • SV-218280r603259_rule
  • SV-64099
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.
Checks: C-19755r568723_chk

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

Fix: F-19753r568724_fix

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

b
The /etc/resolv.conf file must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218281 - SV-218281r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001364
Vuln IDs
  • V-218281
  • V-22321
Rule IDs
  • SV-218281r603259_rule
  • SV-64185
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.
Checks: C-19756r568726_chk

Check the mode of the /etc/resolv.conf file. # ls -l /etc/resolv.conf If the file mode is not 0644, this is a finding.

Fix: F-19754r568727_fix

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

b
The /etc/resolv.conf file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218282 - SV-218282r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001365
Vuln IDs
  • V-218282
  • V-22322
Rule IDs
  • SV-218282r603259_rule
  • SV-64513
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.
Checks: C-19757r568729_chk

Verify /etc/resolv.conf has no extended ACL. # ls -l /etc/resolv.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19755r568730_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/resolv.conf

b
The /etc/hosts file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218283 - SV-218283r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001366
Vuln IDs
  • V-218283
  • V-22323
Rule IDs
  • SV-218283r603259_rule
  • SV-64519
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.
Checks: C-19758r568807_chk

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

Fix: F-19756r568808_fix

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

b
The /etc/hosts file must be group-owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218284 - SV-218284r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001367
Vuln IDs
  • V-218284
  • V-22324
Rule IDs
  • SV-218284r603259_rule
  • SV-64523
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.
Checks: C-19759r568810_chk

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

Fix: F-19757r568811_fix

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

b
The /etc/hosts file must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218285 - SV-218285r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001368
Vuln IDs
  • V-218285
  • V-22325
Rule IDs
  • SV-218285r603259_rule
  • SV-64527
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.
Checks: C-19760r568813_chk

Check the mode of the /etc/hosts file. # ls -l /etc/hosts If the file mode is not 0644, this is a finding.

Fix: F-19758r568814_fix

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

b
The /etc/hosts file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218286 - SV-218286r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001369
Vuln IDs
  • V-218286
  • V-22326
Rule IDs
  • SV-218286r603259_rule
  • SV-64533
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.
Checks: C-19761r568816_chk

Verify /etc/hosts has no extended ACL. # ls -l /etc/hosts If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19759r568817_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/hosts

b
The /etc/nsswitch.conf file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218287 - SV-218287r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001371
Vuln IDs
  • V-218287
  • V-22327
Rule IDs
  • SV-218287r603259_rule
  • SV-64535
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.
Checks: C-19762r561650_chk

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

Fix: F-19760r561651_fix

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

b
The /etc/nsswitch.conf file must be group-owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218288 - SV-218288r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001372
Vuln IDs
  • V-218288
  • V-22328
Rule IDs
  • SV-218288r603259_rule
  • SV-64539
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.
Checks: C-19763r561653_chk

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

Fix: F-19761r561654_fix

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

b
The /etc/nsswitch.conf file must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218289 - SV-218289r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001373
Vuln IDs
  • V-218289
  • V-22329
Rule IDs
  • SV-218289r603259_rule
  • SV-64541
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.
Checks: C-19764r561656_chk

Check the mode of the /etc/nsswitch.conf file. # ls -l /etc/nsswitch.conf If the file mode is not 0644, this is a finding.

Fix: F-19762r561657_fix

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

b
The /etc/nsswitch.conf file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218290 - SV-218290r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001374
Vuln IDs
  • V-218290
  • V-22330
Rule IDs
  • SV-218290r603259_rule
  • SV-64545
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.
Checks: C-19765r561659_chk

Verify /etc/nsswitch.conf has no extended ACL. # ls -l /etc/nsswitch.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19763r561660_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/nsswitch.conf

a
For systems using DNS resolution, at least two name servers must be configured.
SC-22 - Low - CCI-001182 - V-218291 - SV-218291r603259_rule
RMF Control
SC-22
Severity
Low
CCI
CCI-001182
Version
GEN001375
Vuln IDs
  • V-218291
  • V-22331
Rule IDs
  • SV-218291r603259_rule
  • SV-64547
To provide availability for name resolution services, multiple redundant name servers are mandated. A failure in name resolution could lead to the failure of security functions requiring name resolution, which may include time synchronization, centralized authentication, and remote system logging.
Checks: C-19766r568819_chk

Determine if DNS is enabled on the system. # grep dns /etc/nsswitch.conf If no line is returned, or any returned line is commented out, the system does not use DNS, and this is not applicable. Determine the name servers used by the system. # grep nameserver /etc/resolv.conf If less than two lines are returned that are not commented out, this is a finding.

Fix: F-19764r568820_fix

Edit /etc/resolv.conf and add additional "nameserver" lines until at least two are present.

b
The /etc/passwd file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218292 - SV-218292r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001378
Vuln IDs
  • V-218292
  • V-22332
Rule IDs
  • SV-218292r603259_rule
  • SV-64549
The /etc/passwd file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification.
Checks: C-19767r561665_chk

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

Fix: F-19765r561666_fix

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

b
The /etc/passwd file must be group-owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218293 - SV-218293r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001379
Vuln IDs
  • V-218293
  • V-22333
Rule IDs
  • SV-218293r603259_rule
  • SV-64553
The /etc/passwd file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification.
Checks: C-19768r561668_chk

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

Fix: F-19766r561669_fix

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

b
The /etc/passwd file must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218294 - SV-218294r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001380
Vuln IDs
  • V-218294
  • V-798
Rule IDs
  • SV-218294r603259_rule
  • SV-64557
If the passwd file is writable by a group-owner or the world, the risk of passwd file compromise is increased. The passwd file contains the list of accounts on the system and associated information.
Checks: C-19769r561671_chk

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: F-19767r561672_fix

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

b
The /etc/passwd file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218295 - SV-218295r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001390
Vuln IDs
  • V-218295
  • V-22334
Rule IDs
  • SV-218295r603259_rule
  • SV-64559
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.
Checks: C-19770r561674_chk

Verify /etc/passwd has no extended ACL. # ls -l /etc/passwd If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19768r561675_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/passwd

b
The /etc/group file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218296 - SV-218296r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001391
Vuln IDs
  • V-218296
  • V-22335
Rule IDs
  • SV-218296r603259_rule
  • SV-64561
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.
Checks: C-19771r561677_chk

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

Fix: F-19769r561678_fix

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

b
The /etc/group file must be group-owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218297 - SV-218297r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001392
Vuln IDs
  • V-218297
  • V-22336
Rule IDs
  • SV-218297r603259_rule
  • SV-64563
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.
Checks: C-19772r561680_chk

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

Fix: F-19770r561681_fix

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

b
The /etc/group file must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218298 - SV-218298r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001393
Vuln IDs
  • V-218298
  • V-22337
Rule IDs
  • SV-218298r603259_rule
  • SV-64565
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.
Checks: C-19773r561683_chk

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

Fix: F-19771r561684_fix

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

b
The /etc/group file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218299 - SV-218299r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001394
Vuln IDs
  • V-218299
  • V-22338
Rule IDs
  • SV-218299r603259_rule
  • SV-64567
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.
Checks: C-19774r561686_chk

Verify /etc/group has no extended ACL. # ls -l /etc/group If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19772r561687_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/group

b
The /etc/shadow (or equivalent) file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218300 - SV-218300r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001400
Vuln IDs
  • V-218300
  • V-797
Rule IDs
  • SV-218300r603259_rule
  • SV-64569
The /etc/shadow file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification. Failure to give ownership of sensitive files or utilities to root or bin provides the designated owner and unauthorized users with the potential to access sensitive information or change the system configuration which could weaken the system's security posture.
Checks: C-19775r568822_chk

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

Fix: F-19773r568823_fix

Change the ownership of the /etc/shadow (or equivalent) file. # chown root /etc/shadow

b
The /etc/shadow file (or equivalent) must be group-owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218301 - SV-218301r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001410
Vuln IDs
  • V-218301
  • V-22339
Rule IDs
  • SV-218301r603259_rule
  • SV-64571
The /etc/shadow file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification. The file also contains password hashes which must not be accessible to users other than root.
Checks: C-19776r561692_chk

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

Fix: F-19774r561693_fix

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

b
The /etc/shadow (or equivalent) file must have mode 0400.
AC-6 - Medium - CCI-000225 - V-218302 - SV-218302r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001420
Vuln IDs
  • V-218302
  • V-800
Rule IDs
  • SV-218302r603259_rule
  • SV-64573
The /etc/shadow file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification. The file also contains password hashes which must not be accessible to users other than root.
Checks: C-19777r561695_chk

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

Fix: F-19775r561696_fix

Change the mode of the /etc/shadow (or equivalent) file. # chmod 0400 /etc/shadow

b
The /etc/shadow file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218303 - SV-218303r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001430
Vuln IDs
  • V-218303
  • V-22340
Rule IDs
  • SV-218303r603259_rule
  • SV-64575
The /etc/shadow file contains the list of local system accounts. It is vital to system security and must be protected from unauthorized modification. The file also contains password hashes which must not be accessible to users other than root.
Checks: C-19778r561698_chk

Verify /etc/shadow has no extended ACL. # ls -l /etc/shadow If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19776r561699_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/shadow

a
All interactive users must be assigned a home directory in the /etc/passwd file.
AC-6 - Low - CCI-000225 - V-218304 - SV-218304r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN001440
Vuln IDs
  • V-218304
  • V-899
Rule IDs
  • SV-218304r603259_rule
  • SV-64577
If users do not have a valid home directory, there is no place for the storage and control of files they own.
Checks: C-19779r554249_chk

Use pwck to verify home directory assignments are present. # pwck If any user is not assigned a home directory, this is a finding.

Fix: F-19777r554250_fix

Assign a home directory to any user without one.

a
All interactive user home directories defined in the /etc/passwd file must exist.
AC-6 - Low - CCI-000225 - V-218305 - SV-218305r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN001460
Vuln IDs
  • V-218305
  • V-900
Rule IDs
  • SV-218305r603259_rule
  • SV-64579
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.
Checks: C-19780r568825_chk

Use pwck to verify assigned home directories exist. # pwck If any user's assigned home directory does not exist, this is a finding.

Fix: F-19778r568826_fix

If a user has no home directory, determine why. If possible, delete accounts without a home directory. If the account is valid, then create the home directory using the appropriate system administration utility or manually. For instance: mkdir directoryname; copy the skeleton files into the directory; chown accountname for the new directory and the skeleton files. Document all changes.

b
The /etc/passwd file must not contain password hashes.
IA-5 - Medium - CCI-000201 - V-218306 - SV-218306r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000201
Version
GEN001470
Vuln IDs
  • V-218306
  • V-22347
Rule IDs
  • SV-218306r603259_rule
  • SV-64581
If password hashes are readable by non-administrators, the passwords are subject to attack through lookup tables or cryptographic weaknesses in the hashes.
Checks: C-19781r554255_chk

Verify no password hashes are present in /etc/passwd. # cut -d : -f 2 /etc/passwd | egrep -v '^(x|\*)$' If any password hashes are returned, this is a finding.

Fix: F-19779r554256_fix

Migrate /etc/passwd password hashes to /etc/shadow. # pwconv

b
The /etc/group file must not contain any group password hashes.
AC-6 - Medium - CCI-000225 - V-218307 - SV-218307r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001475
Vuln IDs
  • V-218307
  • V-22348
Rule IDs
  • SV-218307r603259_rule
  • SV-64583
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.
Checks: C-19782r554258_chk

Check the /etc/group file for password hashes. # cut -d : -f 2 /etc/group | egrep -v '^(x|!)$' If any password hashes are returned, this is a finding.

Fix: F-19780r554259_fix

Edit /etc/group and change the password field to an exclamation point (!) to lock the group password.

b
All user home directories must have mode 0750 or less permissive.
AC-6 - Medium - CCI-000225 - V-218308 - SV-218308r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001480
Vuln IDs
  • V-218308
  • V-901
Rule IDs
  • SV-218308r603259_rule
  • SV-64585
Excessive permissions on home directories allow unauthorized access to user files.
Checks: C-19783r554261_chk

Check the home directory mode of each user in /etc/passwd. Procedure: # cut -d: -f6 /etc/passwd|sort|uniq|xargs -n1 ls -ld If a user 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: F-19781r554262_fix

Change the mode of user home directories to 0750 or less permissive. Procedure (example): # chmod 0750 <home directory> Note: Application directories are allowed and may need 0755 permissions (or greater) for correct operation.

a
User home directories must not have extended ACLs.
AC-6 - Low - CCI-000225 - V-218309 - SV-218309r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN001490
Vuln IDs
  • V-218309
  • V-22350
Rule IDs
  • SV-218309r603259_rule
  • SV-64587
Excessive permissions on home directories allow unauthorized access to user files.
Checks: C-19784r554264_chk

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

Fix: F-19782r554265_fix

Remove the extended ACL from the file. # setfacl --remove-all [user home directory with extended ACL]

b
All interactive user home directories must be owned by their respective users.
AC-6 - Medium - CCI-000225 - V-218310 - SV-218310r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001500
Vuln IDs
  • V-218310
  • V-902
Rule IDs
  • SV-218310r603259_rule
  • SV-64589
If users do not own their home directories, unauthorized users could access user files.
Checks: C-19785r554267_chk

Check the ownership of each user home directory listed in the /etc/passwd file. Procedure: # cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld If any user home directory is not owned by the assigned user, this is a finding.

Fix: F-19783r554268_fix

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

b
All interactive user home directories must be group-owned by the home directory owners primary group.
AC-6 - Medium - CCI-000225 - V-218311 - SV-218311r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001520
Vuln IDs
  • V-218311
  • V-903
Rule IDs
  • SV-218311r603259_rule
  • SV-63825
If the Group Identifier (GID) of the home directory is not the same as the GID of the user, this would allow unauthorized access to files.
Checks: C-19786r554270_chk

Check the group ownership for each user in the /etc/passwd file. Procedure: # cut -d : -f 6 /etc/passwd | xargs -n1 ls -ld If any user home directory is not group-owned by the assigned user's primary group, this is a finding. Home directories for application accounts requiring different group ownership must be documented using site-defined procedures.

Fix: F-19784r554271_fix

Change the group-owner for user home directories to the primary group of the assigned user. Procedure: Find the primary group of the user (GID) which is the fourth field of the user entry in /etc/passwd. # chgrp <GID> <user home directory> Document all changes.

a
All files and directories contained in interactive user home directories must be owned by the home directorys owner.
AC-6 - Low - CCI-000225 - V-218312 - SV-218312r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN001540
Vuln IDs
  • V-218312
  • V-914
Rule IDs
  • SV-218312r603259_rule
  • SV-63831
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.
Checks: C-19787r554273_chk

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 /&lt;usershomedirectory&gt; ! -fstype nfs ! -user &lt;username&gt; ! \( -name .bashrc -o -name .bash_login -o -name .bash_logout -o -name .bash_profile -o -name .cshrc -o -name .kshrc -o -name .login -o -name .logout -o -name .profile -o -name .tcshrc -o -name .env -o -name .dtprofile -o -name .dispatch -o -name .emacs -o -name .exrc \) -exec ls -ld {} \; If user home directories contain files or directories not owned by the home directory owner, this is a finding.

Fix: F-19785r554274_fix

Change the ownership of files and directories in user home directories to the owner of the home directory. Procedure: # chown accountowner filename

b
All files and directories contained in user home directories must be group-owned by a group of which the home directorys owner is a member.
AC-6 - Medium - CCI-000225 - V-218313 - SV-218313r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001550
Vuln IDs
  • V-218313
  • V-22351
Rule IDs
  • SV-218313r603259_rule
  • SV-63833
If a user's files are group-owned by a group of which the user is not a member, unintended users may be able to access them.
Checks: C-19788r554276_chk

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 ~username -printf %G\\n | sort | uniq 3. Obtain the list of GIDs where the user is a member. # id -G username 4. Check the GID lists. If there are GIDs in the file list not present in the user list, this is a finding.

Fix: F-19786r554277_fix

Change the group of a file not group-owned by a group of which the home directory's owner is a member. # chgrp <group with user as member> <file with bad group ownership> Document all changes.

a
All files and directories contained in user home directories must have mode 0750 or less permissive.
AC-6 - Low - CCI-000225 - V-218314 - SV-218314r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN001560
Vuln IDs
  • V-218314
  • V-915
Rule IDs
  • SV-218314r603259_rule
  • SV-63837
Excessive permissions allow unauthorized access to user files.
Checks: C-19789r554279_chk

For each user in the /etc/passwd file, check for files and directories with a mode more permissive than 0750. Procedure: # find /&lt;usershomedirectory&gt; ! -fstype nfs ! \( -name .bashrc -o -name .bash_login -o -name .bash_logout -o -name .bash_profile -o -name .cshrc -o -name .kshrc -o -name .login -o -name .logout -o -name .profile -o -name .tcshrc -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 home directories contain files or directories more permissive than 0750, this is a finding.

Fix: F-19787r554280_fix

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

b
All files and directories contained in user home directories must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218315 - SV-218315r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001570
Vuln IDs
  • V-218315
  • V-22352
Rule IDs
  • SV-218315r603259_rule
  • SV-63839
Excessive permissions allow unauthorized access to user files.
Checks: C-19790r554282_chk

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

Fix: F-19788r554283_fix

Remove the extended ACL from the file. # setfacl --remove-all <user file with extended ACL>

b
All run control scripts must have mode 0755 or less permissive.
AC-6 - Medium - CCI-000225 - V-218316 - SV-218316r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001580
Vuln IDs
  • V-218316
  • V-906
Rule IDs
  • SV-218316r603259_rule
  • SV-63843
If the startup files are writable by other users, they could modify the startup files to insert malicious commands into the startup files.
Checks: C-19791r568828_chk

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

Fix: F-19789r568829_fix

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

b
All run control scripts must have no extended ACLs.
AC-6 - Medium - CCI-000225 - V-218317 - SV-218317r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001590
Vuln IDs
  • V-218317
  • V-22353
Rule IDs
  • SV-218317r603259_rule
  • SV-63847
If the startup files are writable by other users, they could modify the startup files to insert malicious commands into the startup files.
Checks: C-19792r561707_chk

Verify run control scripts have no extended ACLs. # ls -lL /etc/rc* /etc/init.d If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19790r561708_fix

Remove the extended ACL from the file. # setfacl --remove-all <run control script with extended ACL>

b
Run control scripts executable search paths must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-218318 - SV-218318r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001600
Vuln IDs
  • V-218318
  • V-907
Rule IDs
  • SV-218318r603259_rule
  • SV-63849
The executable search path (typically the PATH environment variable) contains a list of directories for the shell to search to find executables. If this path includes the current working directory or other relative paths, executables in these directories may be executed instead of system commands. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.
Checks: C-19793r568831_chk

Verify run control scripts' library search paths. # grep -r '\bPATH\b' /etc/rc* /etc/init.d This variable is formatted as a colon-separated list of directories. Such as a leading or trailing colon, two consecutive colons, or a single period. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-19791r568832_fix

Edit the run control script and remove any relative path entries from the executable search path variable that are not documented with the ISSO. Remove any empty path entries that are defined in these files.

b
Run control scripts library search paths must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-218319 - SV-218319r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001605
Vuln IDs
  • V-218319
  • V-22354
Rule IDs
  • SV-218319r603259_rule
  • SV-63851
The library search path environment variable(s) contain a list of directories for the dynamic linker to search to find libraries. If this path includes the current working directory or other relative paths, libraries in these directories may be loaded instead of system libraries. This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.
Checks: C-19794r568834_chk

Verify run control scripts' library search paths. # grep -r LD_LIBRARY_PATH /etc/rc* /etc/init.d This variable is formatted as a colon-separated list of directories. Such as a leading or trailing colon, two consecutive colons, or a single period, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-19792r568835_fix

Edit the run control script and remove the relative path entries from the library search path variables that are not documented with the ISSO. Remove any empty path entries that are defined in these files.

b
Run control scripts lists of preloaded libraries must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-218320 - SV-218320r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001610
Vuln IDs
  • V-218320
  • V-22355
Rule IDs
  • SV-218320r603259_rule
  • SV-63853
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 an entry begins with a character other than a slash (/), or has If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.
Checks: C-19795r568837_chk

Verify run control scripts' library preload list. # grep -r LD_PRELOAD /etc/rc* /etc/init.d This variable is formatted as a colon-separated list of directories. Such as a leading or trailing colon, two consecutive colons, or a single period, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-19793r568838_fix

Edit the run control script and remove the relative path entries from the library preload variables that are not documented with the ISSO. Remove any empty path entries that are defined in these files.

c
Run control scripts must not execute world-writable programs or scripts.
AC-6 - High - CCI-000225 - V-218321 - SV-218321r603259_rule
RMF Control
AC-6
Severity
High
CCI
CCI-000225
Version
GEN001640
Vuln IDs
  • V-218321
  • V-910
Rule IDs
  • SV-218321r603259_rule
  • SV-63855
World-writable files could be modified accidentally or maliciously to compromise system integrity.
Checks: C-19796r568840_chk

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 " " Create a list of world writeable files. # find / -perm -002 -type f &gt;&gt; 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 "` If any system startup script executes any file or script that is world-writable, this is a finding.

Fix: F-19794r568841_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>

b
All system start-up files must be owned by root.
AC-6 - Medium - CCI-000225 - V-218322 - SV-218322r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001660
Vuln IDs
  • V-218322
  • V-4089
Rule IDs
  • SV-218322r603259_rule
  • SV-63857
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.
Checks: C-19797r561722_chk

Check run control scripts' ownership. # ls -lL /etc/rc* /etc/init.d Alternatively: # find /etc -name "[SK][0-9]*"|xargs stat -L -c %U:%n If any run control script is not owned by root or bin, this is a finding.

Fix: F-19795r561723_fix

Change the ownership of the run control script(s) with incorrect ownership. # find /etc -name "[SK][0-9]*"|xargs stat -L -c %U:%n|egrep -v "^root:"|cut -d: -f2|xargs chown root

b
All system start-up files must be group-owned by root, sys, bin, other, or system.
AC-6 - Medium - CCI-000225 - V-218323 - SV-218323r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001680
Vuln IDs
  • V-218323
  • V-4090
Rule IDs
  • SV-218323r603259_rule
  • SV-63859
If system start-up files do not have a group owner of root or a system group, the files may be modified by malicious users or intruders.
Checks: C-19798r568843_chk

Check run control scripts' group ownership. Procedure: # ls -lL /etc/rc* /etc/init.d Alternatively: # find /etc -name "[SK][0-9]*"|xargs stat -L -c %G:%n|egrep -v "^(root|sys|bin|other):" If any run control script is not group-owned by root, sys, bin, or other system groups, this is a finding.

Fix: F-19796r568844_fix

Change the group ownership of the run control script(s) with incorrect group ownership. Procedure: # chgrp root <run control script> # find /etc -name "[SK][0-9]*"|xargs stat -L -c %G:%n|egrep -v "^(root|sys|bin|other):"|cut -d: -f2|xargs chgrp root

b
System start-up files must only execute programs owned by a privileged UID or an application.
AC-6 - Medium - CCI-000225 - V-218324 - SV-218324r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001700
Vuln IDs
  • V-218324
  • V-4091
Rule IDs
  • SV-218324r603259_rule
  • SV-63861
System start-up files executing programs owned by other than root (or another privileged user) or an application indicating the system may have been compromised.
Checks: C-19799r568846_chk

Determine the programs executed by system start-up files. Determine the ownership of the executed programs. # cat /etc/rc*/* /etc/init.d/* | more # ls -l &lt;executed program&gt; Alternatively: # for FILE in `egrep -r "/" /etc/rc.* /etc/init.d|awk '/^.*[^\/][0-9A-Za-z_\/]*/{print $2}'|egrep "^/"|sort|uniq`;do if [ -e $FILE ]; then stat -L -c '%U:%n' $FILE;fi;done This provides a list of files referenced by initialization scripts and their associated UIDs. If any file is run by an initialization file and is not owned by root, sys, bin, or in rare cases, an application account, this is a finding.

Fix: F-19797r568847_fix

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

b
All global initialization files must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218325 - SV-218325r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001720
Vuln IDs
  • V-218325
  • V-11981
Rule IDs
  • SV-218325r603259_rule
  • SV-63865
Global initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.
Checks: C-19800r568849_chk

Check global initialization files permissions: # ls -l /etc/bashrc # ls -l /etc/csh.cshrc # ls -l /etc/csh.login # ls -l /etc/csh.logout # ls -l /etc/environment # ls -l /etc/ksh.kshrc # ls -l /etc/profile # ls -l /etc/suid_profile # ls -l /etc/profile.d/* If global initialization files are more permissive than 0644, this is a finding.

Fix: F-19798r568850_fix

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

b
All global initialization files must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218326 - SV-218326r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001730
Vuln IDs
  • V-218326
  • V-22356
Rule IDs
  • SV-218326r603259_rule
  • SV-63867
Global initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.
Checks: C-19801r568852_chk

Check global initialization files for extended ACLs: # ls -l /etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2&gt;null|grep "\+ " If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19799r568853_fix

Remove the extended ACL from the file. # ls -l etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2>null|grep "\+ "|sed "s/^.* \///g"|xargs setfacl --remove-all

b
All global initialization files must be owned by root.
AC-6 - Medium - CCI-000225 - V-218327 - SV-218327r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001740
Vuln IDs
  • V-218327
  • V-11982
Rule IDs
  • SV-218327r603259_rule
  • SV-63869
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.
Checks: C-19802r568855_chk

Check the ownership of global initialization files. Procedure: # ls -lL etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* This should show information for each file. Examine to ensure the owner is always root or: # ls etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2&gt;null|xargs stat -L -c %U:%n|egrep -v "^root" This will show you only the owner and filename of files not owned by root. If any global initialization file is not owned by root, this is a finding.

Fix: F-19800r568856_fix

Change the ownership of global initialization files with incorrect ownership. Procedure: # chown root <global initialization files> or: # ls etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2>null|xargs stat -L -c %U:%n|egrep -v "^root"|cut -d: -f2|xargs chown root will set the owner of all files not currently owned by root to root.

b
All global initialization files must be group-owned by root, sys, bin, other, system, or the system default.
AC-6 - Medium - CCI-000225 - V-218328 - SV-218328r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001760
Vuln IDs
  • V-218328
  • V-11983
Rule IDs
  • SV-218328r603259_rule
  • SV-63871
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.
Checks: C-19803r568858_chk

Check the group ownership of global initialization files. Procedure: # ls -lL etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* This should show information for each file. Examine to ensure the group is always root or: # ls -lL etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2&gt;null|sed "s/^[^\/]*//"|xargs stat -L -c %G:%n|egrep -v "^(root|sys|bin|other):" will show you only the group and filename of files not owned by one of the approved groups. If any global initialization file is not group-owned by root, sys, bin, other, system, or the system default, this is a finding.

Fix: F-19801r568859_fix

Change the group ownership of the global initialization file(s) with incorrect group ownership. Procedure: # chgrp root <global initialization file> or: # ls -lL /etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* 2>null|sed "s/^[^\/]*//"|xargs stat -L -c %G:%n|egrep -v "^(root|sys|bin|other):"|cut -d: -f2|xargs chgrp root will set the group of all files not currently owned by an approved group to root.

a
Global initialization files must contain the mesg -n or mesg n commands.
CM-6 - Low - CCI-000366 - V-218329 - SV-218329r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN001780
Vuln IDs
  • V-218329
  • V-825
Rule IDs
  • SV-218329r603259_rule
  • SV-63875
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.
Checks: C-19804r554324_chk

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

Fix: F-19802r554325_fix

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

b
All skeleton files (typically those in /etc/skel) must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218330 - SV-218330r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001800
Vuln IDs
  • V-218330
  • V-788
Rule IDs
  • SV-218330r603259_rule
  • SV-63879
If the skeleton files are not protected, unauthorized personnel could change user startup parameters and possibly jeopardize user files.
Checks: C-19805r561440_chk

Check skeleton files permissions. # ls -alL /etc/skel If a skeleton file has a mode more permissive than 0644, this is a finding.

Fix: F-19803r561441_fix

Change the mode of skeleton files with incorrect mode: # chmod 0644 <skeleton file>

b
Skeleton files must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218331 - SV-218331r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001810
Vuln IDs
  • V-218331
  • V-22357
Rule IDs
  • SV-218331r603259_rule
  • SV-63881
If the skeleton files are not protected, unauthorized personnel could change user startup parameters and possibly jeopardize user files.
Checks: C-19806r561743_chk

Check skeleton files for extended ACLs: # ls -alL /etc/skel If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19804r561744_fix

Remove the extended ACL from the file. # setfacl --remove-all [skeleton file with extended ACL] or: # ls -lL /etc/skel|grep "\+ "|sed "s/^.* \//|xargs setfacl --remove-all will remove all ACLs from the files.

b
All skeleton files and directories (typically in /etc/skel) must be owned by root or bin.
AC-6 - Medium - CCI-000225 - V-218332 - SV-218332r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001820
Vuln IDs
  • V-218332
  • V-11984
Rule IDs
  • SV-218332r603259_rule
  • SV-63307
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.
Checks: C-19807r568861_chk

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

Fix: F-19805r568862_fix

Change the ownership of skeleton files with incorrect mode: # chown root <skeleton file> or # ls -L /etc/skel|xargs stat -L -c %U:%n|egrep -v "^(root|bin):"|cut -d: -f2|chown root will change all files not owned by root or bin to root.

b
All skeleton files (typically in /etc/skel) must be group-owned by root, bin, sys, system, or other.
AC-6 - Medium - CCI-000225 - V-218333 - SV-218333r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001830
Vuln IDs
  • V-218333
  • V-22358
Rule IDs
  • SV-218333r603259_rule
  • SV-63323
If the skeleton files are not protected, unauthorized personnel could change user startup parameters and possibly jeopardize user files.
Checks: C-19808r568864_chk

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

Fix: F-19806r568865_fix

Change the group-owner of the skeleton file to root, bin, sys, system, or other. Procedure: # chgrp <group> /etc/skel/[skeleton file] or: # ls -L /etc/skel|xargs stat -L -c %G:%n|egrep -v "^(root|bin|sy|sytem|other):"|cut -d: -f2|chgrp root will change the group of all files not already one of the approved group to root.

b
All global initialization files executable search paths must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-218334 - SV-218334r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001840
Vuln IDs
  • V-218334
  • V-11985
Rule IDs
  • SV-218334r603259_rule
  • SV-63327
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, such as a leading or trailing colon, two consecutive colons, or a single period, this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.
Checks: C-19809r568867_chk

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

Fix: F-19807r568868_fix

Edit the global initialization file(s) with PATH variables containing relative paths and remove any relative path from the PATH variables that have not been authorized by the ISSO. Remove any empty path entries that are defined in these files.

b
Global initialization files library search paths must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-218335 - SV-218335r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001845
Vuln IDs
  • V-218335
  • V-22359
Rule IDs
  • SV-218335r603259_rule
  • SV-63331
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, such as a leading or trailing colon, two consecutive colons, or a single period; this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.
Checks: C-19810r568870_chk

Check the global initialization files' library search paths. Procedure: # grep LD_LIBRARY_PATH /etc/bashrc /etc/csh.cshrc /etc/csh.login /etc/csh.logout /etc/environment /etc/ksh.kshrc /etc/profile /etc/suid_profile /etc/profile.d/* This variable is formatted as a colon-separated list of directories. Such as a leading or trailing colon, two consecutive colons, or a single period, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-19808r568871_fix

Edit the global initialization file and remove the relative path entries from the library search path variables that have not been documented with the ISSO. Remove any empty path entries that are defined in these files.

b
Global initialization files lists of preloaded libraries must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-218336 - SV-218336r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001850
Vuln IDs
  • V-218336
  • V-22360
Rule IDs
  • SV-218336r603259_rule
  • SV-63335
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 an entry begins with a character other than a slash (/), or has If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.
Checks: C-19811r568873_chk

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

Fix: F-19809r568874_fix

Edit the global initialization file and remove the relative path entry from the library preload variable that has not been authorized by the ISSO. Remove any empty path entries that are defined in these files.

b
All local initialization files must be owned by the home directorys user or root.
AC-6 - Medium - CCI-000225 - V-218337 - SV-218337r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001860
Vuln IDs
  • V-218337
  • V-904
Rule IDs
  • SV-218337r603259_rule
  • SV-63339
Local initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.
Checks: C-19812r568876_chk

NOTE: The following commands must be run in the BASH shell. Check the ownership of local initialization files. Procedure: # ls -al /&lt;usershomedirectory&gt;/.login # ls -al /&lt;usershomedirectory&gt;/.cshrc # ls -al /&lt;usershomedirectory&gt;/.logout # ls -al /&lt;usershomedirectory&gt;/.profile # ls -al /&lt;usershomedirectory&gt;/.bash_profile # ls -al /&lt;usershomedirectory&gt;/.bashrc # ls -al /&lt;usershomedirectory&gt;/.bash_logout # ls -al /&lt;usershomedirectory&gt;/.env # ls -al /&lt;usershomedirectory&gt;/.dtprofile # ls -al /&lt;usershomedirectory&gt;/.dispatch # ls -al /&lt;usershomedirectory&gt;/.emacs # ls -al /&lt;usershomedirectory&gt;/.exrc # find /&lt;usershomedirectory&gt;/.dt ! -fstype nfs ! -user &lt;username&gt; -exec ls -ld {} \; If local initialization files are not owned by the home directory's user, this is a finding.

Fix: F-19810r568877_fix

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

b
Local initialization files must be group-owned by the users primary group or root.
AC-6 - Medium - CCI-000225 - V-218338 - SV-218338r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001870
Vuln IDs
  • V-218338
  • V-22361
Rule IDs
  • SV-218338r603259_rule
  • SV-63343
Local initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.
Checks: C-19813r568879_chk

Check user home directories for local initialization files group-owned by a group other than the user's primary group or root. Procedure: # FILES=" .login .cshrc .logout .profile .bash_profile .bashrc .bash_logout .env .dtprofile .dispatch .emacs .exrc"; # for PWLINE in `cut -d: -f4,6 /etc/passwd`; do HOMEDIR=$(echo ${PWLINE}|cut -d: -f2);GROUP=$(echo ${PWLINE} | cut -d: -f1);for INIFILE in $FILES;do stat -c %g/%G:%n ${HOMEDIR}/${INIFILE} 2&gt;null|egrep -v "${GROUP}";done;done If any file is not group-owned by root or the user's primary GID, this is a finding.

Fix: F-19811r568880_fix

Change the group-owner of the local initialization file to the user's primary group, or root. # chgrp <user's primary GID> <user's local initialization file> Procedure: # FILES=".bashrc .bash_login .bash_logout .bash_profile .cshrc .kshrc .login .logout .profile .tcshrc .env .dtprofile .dispatch .emacs .exrc"; # for PWLINE in `cut -d: -f4,6 /etc/passwd`; do HOMEDIR=$(echo ${PWLINE}|cut -d: -f2);GROUP=$(echo ${PWLINE} | cut -d: -f1);for INIFILE in $FILES;do MATCH=$(stat -c %g/%G:%n ${HOMEDIR}/${INIFILE} 2>null|egrep -c -v "${GROUP}");if [ $MATCH != 0 ] ; then chgrp ${GROUP} ${HOMEDIR}/${INIFILE};fi;done;done

b
All local initialization files must have mode 0740 or less permissive.
AC-6 - Medium - CCI-000225 - V-218339 - SV-218339r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001880
Vuln IDs
  • V-218339
  • V-905
Rule IDs
  • SV-218339r603259_rule
  • SV-63345
Local initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.
Checks: C-19814r569008_chk

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

Fix: F-19812r569009_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.

b
Local initialization files must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218340 - SV-218340r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001890
Vuln IDs
  • V-218340
  • V-22362
Rule IDs
  • SV-218340r603259_rule
  • SV-63537
Local initialization files are used to configure the user's shell environment upon login. Malicious modification of these files could compromise accounts upon logon.
Checks: C-19815r569011_chk

Check user home directories for local initialization files with extended ACLs. # cut -d : -f 6 /etc/passwd | xargs -n1 -IDIR ls -alL DIR/.bashrc DIR/.bash_login DIR/.bash_logout DIR/.bash_profile DIR/.cshrc DIR/.kshrc DIR/.login DIR/.logout DIR/.profile DIR/.env DIR/.dtprofile DIR/.dispatch DIR/.emacs DIR/.exrc If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19813r569012_fix

Remove the extended ACL from the file. # setfacl --remove-all <local initialization file with extended ACL>

b
All local initialization files executable search paths must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-218341 - SV-218341r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001900
Vuln IDs
  • V-218341
  • V-11986
Rule IDs
  • SV-218341r603259_rule
  • SV-63541
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, such as a leading or trailing colon, two consecutive colons, or a single period; this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.
Checks: C-19816r569014_chk

Verify local initialization files have executable search path containing only absolute paths or relative paths are necessary and documented with the ISSO. Procedure: NOTE: This must be done in the BASH shell. # cut -d: -f6 /etc/passwd |xargs -n1 -IDIR find DIR -name ".*" -type f -maxdepth 1 -exec grep -l PATH {} \; This variable is formatted as a colon-separated list of directories. Such as a leading or trailing colon, two consecutive colons, or a single period this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-19814r569015_fix

Edit the local initialization file and remove the relative path entry from the executable search path variable. If this is not feasible, justify and document the necessity of having the relative path for a specific application with the ISSO. Remove any empty path entries that are defined in these files.

b
Local initialization files library search paths must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-218342 - SV-218342r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001901
Vuln IDs
  • V-218342
  • V-22363
Rule IDs
  • SV-218342r603259_rule
  • SV-63549
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, such as a leading or trailing colon, two consecutive colons, or a single period this is interpreted as the current working directory. Paths starting with a slash (/) are absolute paths.
Checks: C-19817r569017_chk

Verify local initialization files have library search path containing only authorized paths. Procedure: NOTE: This must be done in the BASH shell. # cut -d: -f6 /etc/passwd |xargs -n1 -IDIR find DIR -name ".*" -type f -maxdepth 1 -exec grep -H LD_LIBRARY_PATH {} \; This variable is formatted as a colon-separated list of directories. Such as a leading or trailing colon, two consecutive colons, or a single period, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-19815r569018_fix

Edit the local initialization file and remove any relative path entries that have not been documented with the ISSO. Remove any empty path entries that are defined in these files.

b
Local initialization files lists of preloaded libraries must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-218343 - SV-218343r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001902
Vuln IDs
  • V-218343
  • V-22364
Rule IDs
  • SV-218343r603259_rule
  • SV-63569
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 an entry begins with a character other than a slash (/), or has If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.
Checks: C-19818r569020_chk

Verify local initialization files have library preload list containing only absolute paths. NOTE: The following must be done in the BASH shell. Procedure: # cut -d: -f6 /etc/passwd |xargs -n1 -IDIR find DIR -name ".*" -type f -maxdepth 1 -exec grep -H LD_PRELOAD {} \; This variable is formatted as a colon-separated list of paths. Such as a leading or trailing colon, two consecutive colons, or a single period, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-19816r569021_fix

Edit the local initialization file and remove any relative path entry from the library preload variable that has not been authorized by the ISSO. Remove any empty path entries that are defined in these files.

b
User start-up files must not execute world-writable programs.
AC-6 - Medium - CCI-000225 - V-218344 - SV-218344r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN001940
Vuln IDs
  • V-218344
  • V-4087
Rule IDs
  • SV-218344r603259_rule
  • SV-63573
If start-up files execute world-writable programs, especially in unprotected directories, they could be maliciously modified to become trojans that destroy user files or otherwise compromise 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.
Checks: C-19819r569023_chk

Determine the world writable files on the system (Note: ignore all files under /proc): # find / -perm -002 -a -type f -exec ls -ld {} \; | &lt;more or redirect the output to a file&gt; # find / -perm -002 -a -type d -exec ls -ld {} \; | &lt;more or redirect the output to a file&gt; View the password file to determine where the home directories for users are: # more /etc/passwd Once the directory for the human users is determined, grep for the lists of world writable files and directories within the users’ home directories. An example would be: # grep /opt/app/bin/daemon /home/*/.* where /home is the directory for the human users on the system and /opt/app/bin/daemon is a world writable file.

Fix: F-19817r569024_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.

b
The .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files must not contain a plus (+) without defining entries for NIS+ netgroups.
CM-6 - Medium - CCI-000366 - V-218345 - SV-218345r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001980
Vuln IDs
  • V-218345
  • V-11987
Rule IDs
  • SV-218345r603259_rule
  • SV-63581
A plus (+) in system accounts files causes the system to lookup the specified entry using NIS. If the system is not using NIS, no such entries should exist.
Checks: C-19820r554372_chk

Check system configuration files for plus (+) entries. Procedure: # find / -name .rhosts # grep + /&lt;directorylocation&gt;/.rhosts # find / -name .shosts # grep + /&lt;directorylocation&gt;/.shosts # find / -name hosts.equiv # grep + /&lt;directorylocation&gt;/hosts.equiv # find / -name shosts.equiv # grep + /&lt;directorylocation&gt;/shosts.equiv # grep + /etc/passwd # grep + /etc/shadow # grep + /etc/group If the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files contain a plus (+) and do not define entries for NIS+ netgroups, this is a finding.

Fix: F-19818r554373_fix

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

b
There must be no .netrc files on the system.
IA-5 - Medium - CCI-000196 - V-218346 - SV-218346r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
GEN002000
Vuln IDs
  • V-218346
  • V-913
Rule IDs
  • SV-218346r603259_rule
  • SV-63591
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.
Checks: C-19821r554375_chk

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

Fix: F-19819r554376_fix

Remove the .netrc file(s). Procedure: # find / -name .netrc # rm <.netrc file>

b
All .rhosts, .shosts, or host.equiv files must only contain trusted host-user pairs.
CM-6 - Medium - CCI-000366 - V-218347 - SV-218347r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002020
Vuln IDs
  • V-218347
  • V-4427
Rule IDs
  • SV-218347r603259_rule
  • SV-63611
If these files are not properly configured, they could allow malicious access by unknown malicious users from untrusted hosts who could compromise the system.
Checks: C-19822r554378_chk

Locate and examine all r-commands access control files. Procedure: # find / -name .rhosts # more /&lt;directorylocation&gt;/.rhosts # find / -name .shosts # more /&lt;directorylocation&gt;/.shosts # find / -name hosts.equiv # more /&lt;directorylocation&gt;/hosts.equiv # find / -name shosts.equiv # more /&lt;directorylocation&gt;/shosts.equiv If any .rhosts, .shosts, hosts.equiv, or shosts.equiv file contains other than host-user pairs, this is a finding.

Fix: F-19820r554379_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.

c
There must be no .rhosts, .shosts, hosts.equiv, or shosts.equiv files on the system.
CM-6 - High - CCI-000366 - V-218348 - SV-218348r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN002040
Vuln IDs
  • V-218348
  • V-11988
Rule IDs
  • SV-218348r603259_rule
  • SV-63621
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.
Checks: C-19823r554381_chk

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 and their use has not been documented and approved by the IAO, this is a finding.

Fix: F-19821r554382_fix

Remove all the r-commands access control files. Procedure: # find / -name .rhosts -exec rm {} \; # find / -name .shosts -exec rm {} \; # find / -name hosts.equiv -exec rm {} \; # find / -name shosts.equiv -exec rm {} \;

b
All .rhosts, .shosts, .netrc, or hosts.equiv files must be accessible by only root or the owner.
AC-6 - Medium - CCI-000225 - V-218349 - SV-218349r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002060
Vuln IDs
  • V-218349
  • V-4428
Rule IDs
  • SV-218349r603259_rule
  • SV-63635
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.
Checks: C-19824r569026_chk

Procedure: # ls -l /etc/hosts.equiv # ls -l /etc/ssh/shosts.equiv # find / -name .rhosts # ls -al &lt;home directory&gt;/.rhosts # find / -name .shosts # ls -al &lt;home directory&gt;/.shosts # find / -name .netrc # ls -al &lt;home directory&gt;/.netrc If the .rhosts, .shosts, hosts.equiv, or shosts.equiv files have permissions greater than 600, then this is a finding. If the /etc/hosts.equiv, or /etc/ssh/shosts.equiv files are not owned by root, this is a finding. Any .rhosts, .shosts and .netrc files outside of home directories have no meaning and are not subject to this rule If the ~/.rhosts or ~/.shosts are not owned by the owner of the home directory where they are immediately located or by root, this is a finding.

Fix: F-19822r569027_fix

Ensure the permission for these files is set to 600 or more restrictive and their owner is root or the same as the owner of the home directory in which they reside. Procedure: # chmod 600 /etc/hosts.equiv # chmod 600 /etc/ssh/shosts.equiv # chown root /etc/hosts.equiv # chown root /etc/ssh/shosts.equiv # find / -name .rhosts # chmod 600 /<home directory>/.rhosts # chown <home directory owner> <home directory>/.rhosts # find / -name .shosts # chmod 600 <directory location>/.shosts # chown <home directory owner> <home directory>/.shosts # find / -name .netrc # chmod 600 <directory location>/.netrc # chown <home directory owner> <home directory>/.netrc

b
The .rhosts file must not be supported in PAM.
CM-6 - Medium - CCI-000366 - V-218350 - SV-218350r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002100
Vuln IDs
  • V-218350
  • V-11989
Rule IDs
  • SV-218350r603259_rule
  • SV-63647
.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.
Checks: C-19825r554387_chk

Check the PAM configuration for rhosts_auth. Example: # grep rhosts_auth /etc/pam.d/* If a rhosts_auth entry is found, this is a finding.

Fix: F-19823r554388_fix

Edit the file(s) in /etc/pam.d referencing the rhosts_auth module, and remove the references to the rhosts_auth module.

b
The /etc/shells (or equivalent) file must exist.
CM-6 - Medium - CCI-000366 - V-218351 - SV-218351r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002120
Vuln IDs
  • V-218351
  • V-916
Rule IDs
  • SV-218351r603259_rule
  • SV-63651
The shells file (or equivalent) lists approved default shells. It helps provide layered defense to the security approach by ensuring users cannot change their default shell to an unauthorized unsecure shell.
Checks: C-19826r554390_chk

Verify /etc/shells exists. # ls -l /etc/shells If the file does not exist, this is a finding.

Fix: F-19824r554391_fix

Create a /etc/shells file containing a list of valid system shells. Consult vendor documentation for an appropriate list of system shells. Procedure: # echo "/bin/bash" >> /etc/shells # echo "/bin/csh" >> /etc/shells (Repeat as necessary for other shells.)

b
All shells referenced in /etc/passwd must be listed in the /etc/shells file, except any shells specified for the purpose of preventing logins.
CM-6 - Medium - CCI-000366 - V-218352 - SV-218352r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002140
Vuln IDs
  • V-218352
  • V-917
Rule IDs
  • SV-218352r603259_rule
  • SV-63671
The shells file lists approved default shells. It helps provide layered defense to the security approach by ensuring users cannot change their default shell to an unauthorized unsecure shell.
Checks: C-19827r554393_chk

Confirm the login shells referenced in the /etc/passwd file are listed in the /etc/shells file. Procedure: Determine which shells are permitted for use by users: # more /etc/shells Note: /usr/bin/false, /bin/false, /dev/null, /sbin/nologin, /bin/sync, /sbin/halt, /sbin/shutdown, (and equivalents) cannot be placed in the /etc/shells file. Determine which shells are being used: # more /etc/passwd (optionally shells found in /etc/passwd can be grepped for in /etc/shells) If any shells are found that are not in /etc/shells, or if false shells are found in /etc/shells, then this is a finding.

Fix: F-19825r554394_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. Example: # chsh -s /bin/bash testuser

b
All shell files must be owned by root or bin.
AC-6 - Medium - CCI-000225 - V-218353 - SV-218353r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002200
Vuln IDs
  • V-218353
  • V-921
Rule IDs
  • SV-218353r603259_rule
  • SV-63677
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.
Checks: C-19828r561788_chk

Check the ownership of the system shells. # cat /etc/shells | xargs -n1 ls -l If any shell is not owned by root or bin, this is a finding.

Fix: F-19826r561789_fix

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

b
All shell files must be group-owned by root, bin, sys, or system.
AC-6 - Medium - CCI-000225 - V-218354 - SV-218354r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002210
Vuln IDs
  • V-218354
  • V-22365
Rule IDs
  • SV-218354r603259_rule
  • SV-63697
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.
Checks: C-19829r569029_chk

If /etc/shells exists, check the group ownership of each shell referenced. Procedure: # cat /etc/shells | xargs -n1 ls -l 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: F-19827r569030_fix

Change the group-owner of the shell to root, bin, sys, or system. Procedure: # chgrp root <shell>

c
All shell files must have mode 0755 or less permissive.
AC-6 - High - CCI-000225 - V-218355 - SV-218355r603259_rule
RMF Control
AC-6
Severity
High
CCI
CCI-000225
Version
GEN002220
Vuln IDs
  • V-218355
  • V-922
Rule IDs
  • SV-218355r603259_rule
  • SV-63713
Shells with world/group write permissions give the ability to maliciously modify the shell to obtain unauthorized access.
Checks: C-19830r569032_chk

If /etc/shells exists, check the group ownership of each shell referenced. # cat /etc/shells | xargs -n1 ls -l Otherwise, check any shells found on the system. # find / -name "*sh" | xargs -n1 ls -l If a shell has a mode more permissive than 0755, this is a finding.

Fix: F-19828r569033_fix

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

b
All shell files must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218356 - SV-218356r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002230
Vuln IDs
  • V-218356
  • V-22366
Rule IDs
  • SV-218356r603259_rule
  • SV-63017
Shells with world/group write permissions give the ability to maliciously modify the shell to obtain unauthorized access.
Checks: C-19831r569035_chk

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

Fix: F-19829r569036_fix

Remove the extended ACL from the file. # setfacl --remove-all [shell]

a
The system must be checked for extraneous device files at least weekly.
CM-6 - Low - CCI-000366 - V-218357 - SV-218357r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN002260
Vuln IDs
  • V-218357
  • V-923
Rule IDs
  • SV-218357r603259_rule
  • SV-63209
If an unauthorized device is allowed to exist on the system, there is the possibility the system may perform unauthorized operations.
Checks: C-19832r554408_chk

Determine if there are any device files outside of /dev: # find / -type b -o -type c |more Check for the presence of an aide on the system: # rpm -qa | grep aide If aide is not installed, ask the SA what file integrity tool is being used to check the system. Check the global crontabs for the presence of an "aide" job to run at least weekly, if aide is installed. Otherwise, check for the presence of a cron job to run the alternate file integrity checking application. # grep aide /etc/cron*/* If a tool is being run, then the configuration file for the appropriate tool needs to be checked for selection lines for /dev and any other directories/subdirectories that contain device files. Review the process to determine if the system is checked for extraneous device files on a weekly basis. If no weekly automated or manual process is in place, this is a finding. If the process is not identifying extraneous device files, this is a finding.

Fix: F-19830r554409_fix

Establish a weekly automated or manual process to create a list of device files on the system and determine if any files have been added, moved, or deleted since the last list was generated. A list of device files can be generated with this command: # find / -type b -o -type c > device-file-list

b
Device files and directories must only be writable by users with a system account or as configured by the vendor.
AC-6 - Medium - CCI-000225 - V-218358 - SV-218358r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002280
Vuln IDs
  • V-218358
  • V-924
Rule IDs
  • SV-218358r603259_rule
  • SV-63229
System device files in writable directories could be modified, removed, or used by an unprivileged user to control system hardware.
Checks: C-19833r569038_chk

Find all world-writable device files existing anywhere on the system. Procedure: # find / -perm -2 -a \( -type b -o -type c \) &gt; devicelist Check the permissions on the directories above subdirectories containing device files. If any of the device files or their parent directories are world-writable, excepting device files specifically intended to be world-writable such as /dev/null, this is a finding. These world-writable files on installation are intended to be world-writable: /dev/full /dev/null /selinux/null /dev/ptmx /dev/random /dev/tty /dev/vsock /dev/zero /dev/log

Fix: F-19831r569039_fix

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

b
Device files used for backup must only be readable and/or writable by root or the backup user.
AC-6 - Medium - CCI-000225 - V-218359 - SV-218359r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002300
Vuln IDs
  • V-218359
  • V-925
Rule IDs
  • SV-218359r603259_rule
  • SV-63241
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.
Checks: C-19834r569041_chk

Check the system for world-writable device files. Procedure: # find / -perm -2 -a \( -type b -o -type c \) -exec ls -ld {} \; Ask the SA to identify any device files used for backup purposes. If any device file(s) used for backup are writable by users other than root or the designated backup user, this is a finding.

Fix: F-19832r569042_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.

b
Audio devices must have mode 0660 or less permissive.
AC-6 - Medium - CCI-000225 - V-218360 - SV-218360r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002320
Vuln IDs
  • V-218360
  • V-1048
Rule IDs
  • SV-218360r603259_rule
  • SV-63247
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 into a bugging device.
Checks: C-19835r569044_chk

Check the mode of audio devices. # ls -lL /dev/audio* /dev/snd/* If the mode of audio devices are more permissive than 660, this is a finding.

Fix: F-19833r569045_fix

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

b
Audio devices must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218361 - SV-218361r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002330
Vuln IDs
  • V-218361
  • V-22367
Rule IDs
  • SV-218361r603259_rule
  • SV-63293
File system ACLs can provide access to files beyond what is allowed by the mode numbers of the files.
Checks: C-19836r561809_chk

Check the permissions of audio devices. # ls -lL /dev/audio* /dev/snd/* If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19834r561810_fix

Remove the extended ACL from the file. # setfacl --remove-all [device file]

b
Audio devices must be owned by root.
AC-6 - Medium - CCI-000225 - V-218362 - SV-218362r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002340
Vuln IDs
  • V-218362
  • V-1049
Rule IDs
  • SV-218362r603259_rule
  • SV-63301
Audio and video devices 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 into a bugging device.
Checks: C-19837r569047_chk

Check the owner of audio devices. # ls -lL /dev/audio* /dev/snd/* If the owner of any audio device file is not root, this is a finding.

Fix: F-19835r569048_fix

Edit the /etc/security/console.perms.d/50-default.perms file and comment the following line: <console> 0600 <sound> 0660 root.audio

b
Audio devices must be group-owned by root, sys, bin, or system.
AC-6 - Medium - CCI-000225 - V-218363 - SV-218363r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002360
Vuln IDs
  • V-218363
  • V-1061
Rule IDs
  • SV-218363r603259_rule
  • SV-63341
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.
Checks: C-19838r561815_chk

Check the group-owner of audio devices. Procedure: # ls -lL /dev/audio* /dev/snd/* If the group-owner of an audio device is not root, sys, bin, system, or audio this is a finding.

Fix: F-19836r561816_fix

Change the group-owner of the audio device. Procedure: # chgrp <root, sys, bin, system, audio> <audio device>

b
The owner, group-owner, mode, ACL, and location of files with the setuid bit set must be documented using site-defined procedures.
CM-6 - Medium - CCI-000366 - V-218364 - SV-218364r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002380
Vuln IDs
  • V-218364
  • V-801
Rule IDs
  • SV-218364r603259_rule
  • SV-63399
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 allowing reading and writing of files, or shell escapes. Only default vendor-supplied executables should have the setuid bit set.
Checks: C-19839r569050_chk

Check for the presence of aide on the system: # rpm -qa | grep aide If aide is not installed, ask the SA what file integrity tool is being used to check the system. Check the global crontabs for the presence of an "aide" job to run at least weekly, if "aide" is installed. Otherwise, check for the presence of a "cron" job to run the alternate file integrity checking application. # grep aide /etc/cron*/* If a tool is being run, then the configuration file for the appropriate tool needs to be checked for selection lines /bin, /sbin, /lib, and /usr. If the file integrity tool is set to check "setuid" and "setgid", this is not a finding. 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 ISSO if files with the setuid bit set have been documented. Documentation must include the owner, group-owner, mode, ACL, and location of the files. If any undocumented file has its setuid bit set, this is a finding.

Fix: F-19837r569051_fix

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

b
The system must be checked weekly for unauthorized setuid files as well as unauthorized modification to authorized setuid files.
CM-6 - Medium - CCI-000366 - V-218365 - SV-218365r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002400
Vuln IDs
  • V-218365
  • V-803
Rule IDs
  • SV-218365r603259_rule
  • SV-63421
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 allowing reading and writing of files, or shell escapes.
Checks: C-19840r569053_chk

Ask the SA for the weekly automated or manual process 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. If a file integrity tool is configured to monitor setuid files weekly, this is not a finding. Review the process. If the process does not identify and report changes in setuid files, this is a finding. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.

Fix: F-19838r569054_fix

Establish a weekly automated or manual process to generate a list of suid files on the system and compare it with the prior list. To create a list of suid files: # find / -perm -4000 > suid-file-list NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.

b
Removable media, remote file systems, and any file system not containing approved setuid files must be mounted with the nosuid option.
AC-6 - Medium - CCI-000225 - V-218366 - SV-218366r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002420
Vuln IDs
  • V-218366
  • V-805
Rule IDs
  • SV-218366r603259_rule
  • SV-63441
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.
Checks: C-19841r569056_chk

Check /etc/mtab 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. If any of these files systems do not mount with the "nosuid" option, it is a finding.

Fix: F-19839r569057_fix

Edit /etc/fstab and add the "nosuid" mount option to all file systems mounted from removable media or network shares, and any file system not containing approved setuid or setgid files.

b
Removable media, remote file systems, and any file system not containing approved device files must be mounted with the nodev option.
CM-6 - Medium - CCI-000366 - V-218367 - SV-218367r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002430
Vuln IDs
  • V-218367
  • V-22368
Rule IDs
  • SV-218367r603259_rule
  • SV-63455
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.
Checks: C-19842r569059_chk

Check /etc/mtab and verify the "nodev" mount option is used on any filesystems mounted from removable media or network shares. If any filesystem mounted from removable media or network shares does not have this option, this is a finding.

Fix: F-19840r569060_fix

Edit /etc/fstab and add the "nodev" option to any filesystems mounted from removable media or network shares.

b
The owner, group-owner, mode, ACL and location of files with the setgid bit set must be documented using site-defined procedures.
CM-6 - Medium - CCI-000366 - V-218368 - SV-218368r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002440
Vuln IDs
  • V-218368
  • V-802
Rule IDs
  • SV-218368r603259_rule
  • SV-63459
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 allowing reading and writing of files, or shell escapes.
Checks: C-19843r569062_chk

If STIGID GEN000220 is satisfied, this is not a finding. List all setgid files on the system. Procedure: # find / -perm -2000 -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 setgid bit set have been documented. Documentation must include owner, group-owner, mode, ACL, and location. If any undocumented file has its setgid bit set, this is a finding. If a tool is being run then the configuration file for the appropriate tool needs to be checked for selection lines /bin, /sbin, /lib, and /usr. If a file integrity tool is set to check setuid and setgid, this is not a finding.

Fix: F-19841r569063_fix

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

b
The system must be checked weekly for unauthorized setgid files as well as unauthorized modification to authorized setgid files.
CM-6 - Medium - CCI-000366 - V-218369 - SV-218369r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002460
Vuln IDs
  • V-218369
  • V-804
Rule IDs
  • SV-218369r603259_rule
  • SV-63589
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 allowing reading and writing of files, or shell escapes.
Checks: C-19844r569065_chk

Ask the SA 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. If a file integrity tool is configured to monitor setgid files weekly, this is not a finding. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.

Fix: F-19842r569066_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: # find / -perm -2000 > setgid-file-list NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.

b
Public directories must be the only world-writable directories and world-writable files must be located only in public directories.
CM-6 - Medium - CCI-000366 - V-218370 - SV-218370r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002480
Vuln IDs
  • V-218370
  • V-1010
Rule IDs
  • SV-218370r603259_rule
  • SV-63673
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.
Checks: C-19845r569068_chk

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

Fix: F-19843r569069_fix

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

a
The sticky bit must be set on all public directories.
CM-6 - Low - CCI-000366 - V-218371 - SV-218371r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN002500
Vuln IDs
  • V-218371
  • V-806
Rule IDs
  • SV-218371r603259_rule
  • SV-63691
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.
Checks: C-19846r569071_chk

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

Fix: F-19844r569072_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.)

b
All public directories must be owned by root or an application account.
AC-6 - Medium - CCI-000225 - V-218372 - SV-218372r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002520
Vuln IDs
  • V-218372
  • V-807
Rule IDs
  • SV-218372r603259_rule
  • SV-63705
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.
Checks: C-19847r569074_chk

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: F-19845r569075_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.)

b
All public directories must be group-owned by root, sys, bin, or an application group.
AC-6 - Medium - CCI-000225 - V-218373 - SV-218373r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002540
Vuln IDs
  • V-218373
  • V-11990
Rule IDs
  • SV-218373r603259_rule
  • SV-63797
If a public directory has the sticky bit set and is not group-owned by a privileged GID, unauthorized users may be able to modify files created by others. The only authorized public directories are those temporary directories supplied with the system or those designed to be temporary file repositories. The setting is normally reserved for directories used by the system and by users for temporary file storage, (e.g., /tmp), and for directories requiring global read/write access.
Checks: C-19848r569077_chk

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

Fix: F-19846r569078_fix

Change the group-ownership of the public directory. Procedure: # chgrp root /tmp (Replace root with a different system group and/or /tmp with a different public directory as necessary.)

b
The system and user default umask must be 077.
CM-6 - Medium - CCI-000366 - V-218374 - SV-218374r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002560
Vuln IDs
  • V-218374
  • V-808
Rule IDs
  • SV-218374r603259_rule
  • SV-63801
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.
Checks: C-19849r569080_chk

NOTE: The following commands must be run in the BASH shell. Check global initialization files for the configured umask value. Procedure: # grep umask /etc/* Check local initialization files for the configured umask value. Procedure: # cut -d: -f6 /etc/passwd |xargs -n1 -IDIR find DIR -name ".*" -type f -maxdepth 1 -exec grep umask {} \; If the system and user default umask is not 077, this a finding. Note: If the default umask is 000 or allows for the creation of world-writable files this becomes a Severity Code I finding.

Fix: F-19847r569081_fix

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

b
Default system accounts must be disabled or removed.
CM-6 - Medium - CCI-000366 - V-218375 - SV-218375r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002640
Vuln IDs
  • V-218375
  • V-810
Rule IDs
  • SV-218375r603259_rule
  • SV-63809
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.
Checks: C-19850r569083_chk

Determine if default system accounts (such as those for sys, bin, uucp, nuucp, daemon, smtp) have been disabled. # cat /etc/shadow If an account's password field (which is the second field in the /etc/shadow file) is "*", "*LK*", or is prefixed with a '!', the account is locked or disabled. If there are any unlocked default system accounts, this is a finding.

Fix: F-19848r569084_fix

Lock the default system account(s). # passwd -l <user>

b
Auditing must be implemented.
AU-12 - Medium - CCI-000169 - V-218376 - SV-218376r603259_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
GEN002660
Vuln IDs
  • V-218376
  • V-811
Rule IDs
  • SV-218376r603259_rule
  • SV-63819
Without auditing, individual system accesses cannot be tracked and malicious activity cannot be detected and traced back to an individual account.
Checks: C-19851r554465_chk

Determine if auditing is enabled. # ps -ef |grep auditd If the auditd process is not found, this is a finding.

Fix: F-19849r554466_fix

Start the auditd service and set it to start on boot. # service auditd start ; chkconfig auditd on

b
System audit logs must be owned by root.
AU-9 - Medium - CCI-000162 - V-218377 - SV-218377r603259_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
GEN002680
Vuln IDs
  • V-218377
  • V-812
Rule IDs
  • SV-218377r603259_rule
  • SV-63845
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.
Checks: C-19852r554468_chk

Perform the following to determine the location of audit logs and then check the ownership. Procedure: # grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//|xargs stat -c %U:%n If any audit log file is not owned by root, this is a finding.

Fix: F-19850r554469_fix

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

b
System audit logs must be group-owned by root, bin, sys, or system.
AU-9 - Medium - CCI-000162 - V-218378 - SV-218378r603259_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
GEN002690
Vuln IDs
  • V-218378
  • V-22702
Rule IDs
  • SV-218378r603259_rule
  • SV-63873
Sensitive system and user information could provide a malicious user with enough information to penetrate further into the system.
Checks: C-19853r554471_chk

Check the group ownership of the audit logs. Procedure: # grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//|xargs stat -c %G:%n If any audit log file is not group-owned by root, bin, sys, or system, this is a finding.

Fix: F-19851r554472_fix

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

b
System audit logs must have mode 0640 or less permissive.
AU-9 - Medium - CCI-000163 - V-218379 - SV-218379r603259_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000163
Version
GEN002700
Vuln IDs
  • V-218379
  • V-813
Rule IDs
  • SV-218379r603259_rule
  • SV-63883
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.
Checks: C-19854r569086_chk

Perform the following to determine the location of audit logs and then check the mode of the files. Procedure: # grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//|xargs stat -c %a:%n If any audit log file has a mode more permissive than 0640, this is a finding.

Fix: F-19852r569087_fix

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

b
All system audit files must not have extended ACLs.
AU-9 - Medium - CCI-000163 - V-218380 - SV-218380r603259_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000163
Version
GEN002710
Vuln IDs
  • V-218380
  • V-22369
Rule IDs
  • SV-218380r603259_rule
  • SV-63885
If a user can write to the audit logs, then audit trails can be modified or destroyed and system intrusion may not be detected.
Checks: C-19855r554477_chk

Check the system audit log files for extended ACLs. Procedure: # grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//|xargs ls -l If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19853r554478_fix

Remove the extended ACL from the system audit file(s).

a
System audit tool executables must be owned by root.
AU-9 - Low - CCI-001493 - V-218381 - SV-218381r603259_rule
RMF Control
AU-9
Severity
Low
CCI
CCI-001493
Version
GEN002715
Vuln IDs
  • V-218381
  • V-22370
Rule IDs
  • SV-218381r603259_rule
  • SV-63959
To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.
Checks: C-19856r554480_chk

Verify the audit tool executables are owned by root. # ls -l /sbin/auditctl /sbin/auditd /sbin/ausearch /sbin/aureport /sbin/autrace /sbin/audispd If any listed file is not owned by root, this is a finding.

Fix: F-19854r554481_fix

Change the owner of the audit tool executable to root. # chown root [audit tool executable]

a
System audit tool executables must be group-owned by root, bin, sys, or system.
AU-9 - Low - CCI-001493 - V-218382 - SV-218382r603259_rule
RMF Control
AU-9
Severity
Low
CCI
CCI-001493
Version
GEN002716
Vuln IDs
  • V-218382
  • V-22371
Rule IDs
  • SV-218382r603259_rule
  • SV-63975
To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.
Checks: C-19857r554483_chk

Verify the audit tool executables are group-owned by root, bin, sys, or system. Procedure: # ls -lL /sbin/auditctl /sbin/auditd /sbin/ausearch /sbin/aureport /sbin/autrace /sbin/audispd If any listed file is not group-owned by root, bin, sys, or system, this is a finding.

Fix: F-19855r554484_fix

Change the group-owner of the audit tool executable to root, bin, sys, or system. Procedure: # chgrp root <audit tool executable>

a
System audit tool executables must have mode 0750 or less permissive.
AU-9 - Low - CCI-001493 - V-218383 - SV-218383r603259_rule
RMF Control
AU-9
Severity
Low
CCI
CCI-001493
Version
GEN002717
Vuln IDs
  • V-218383
  • V-22372
Rule IDs
  • SV-218383r603259_rule
  • SV-64003
To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.
Checks: C-19858r554486_chk

Check the mode of audit tool executables. # ls -l /sbin/auditctl /sbin/auditd /sbin/ausearch /sbin/aureport /sbin/autrace /sbin/audispd If any listed file has a mode more permissive than 0750, this is a finding.

Fix: F-19856r554487_fix

Change the mode of the audit tool executable to 0750, or less permissive. # chmod 0750 [audit tool executable]

a
System audit tool executables must not have extended ACLs.
AU-9 - Low - CCI-001493 - V-218384 - SV-218384r603259_rule
RMF Control
AU-9
Severity
Low
CCI
CCI-001493
Version
GEN002718
Vuln IDs
  • V-218384
  • V-22373
Rule IDs
  • SV-218384r603259_rule
  • SV-64097
To prevent unauthorized access or manipulation of system audit logs, the tools for manipulating those logs must be protected.
Checks: C-19859r554489_chk

Check the permissions of audit tool executables. # ls -l /sbin/auditctl /sbin/auditd /sbin/ausearch /sbin/aureport /sbin/autrace /sbin/audispd If the permissions include a '+' the file has an extended ACL, this is a finding.

Fix: F-19857r554490_fix

Remove the extended ACL from the file. # setfacl --remove-all [audit file]

a
The audit system must alert the SA in the event of an audit processing failure.
AU-5 - Low - CCI-000139 - V-218385 - SV-218385r603259_rule
RMF Control
AU-5
Severity
Low
CCI
CCI-000139
Version
GEN002719
Vuln IDs
  • V-218385
  • V-22374
Rule IDs
  • SV-218385r603259_rule
  • SV-64223
An accurate and current audit trail is essential for maintaining a record of system activity. If the system fails, the SA must be notified and must take prompt action to correct the problem. Minimally, the system must log this event and the SA will receive this notification during the daily system log review. If feasible, active alerting (such as e-mail or paging) should be employed consistent with the site's established operations management systems and procedures.
Checks: C-19860r569089_chk

Verify the /etc/audit/auditd.conf has the disk_full_action and disk_error_action parameters set. Procedure: # grep disk_full_action /etc/audit/auditd.conf If the disk_full_action parameter is missing or set to "suspend" or "ignore", this is a finding. # grep disk_error_action /etc/audit/auditd.conf If the disk_error_action parameter is missing or set to "suspend" or "ignore", this is a finding.

Fix: F-19858r569090_fix

Edit /etc/audit/auditd.conf and set the disk_full_action and/or disk_error_action parameters to a valid setting of "syslog", "exec", "single" or "halt", adding the parameters if necessary.

b
The audit system must be configured to audit failed attempts to access files and programs.
AU-2 - Medium - CCI-000126 - V-218386 - SV-218386r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002720
Vuln IDs
  • V-218386
  • V-814
Rule IDs
  • SV-218386r603259_rule
  • SV-64247
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.
Checks: C-19861r554495_chk

Verify auditd is configured to audit failed file access attempts. There must be an audit rule for each of the access syscalls logging all failed accesses (-F success=0) or there must both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S creat" | grep -e "-F success=0" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S creat" | grep -e "-F exit=-EPERM" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S creat" | grep -e "-F exit=-EACCES" If an "-S creat" audit rule with "-F success" does not exist and no separate rules containing "-F exit=-EPERM" and "-F exit=-EACCES" for "creat" exist, then this is a finding.

Fix: F-19859r554496_fix

Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: either: -a exit,always -F arch=<ARCH> -S creat -F success=0 or both: -a exit,always -F arch=<ARCH> -S creat -F exit=-EPERM -a exit,always -F arch=<ARCH> -S creat -F exit=-EACCES Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit failed attempts to access files and programs.
CM-6 - Medium - CCI-000366 - V-218387 - SV-218387r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002720-2
Vuln IDs
  • V-218387
  • V-29236
Rule IDs
  • SV-218387r603259_rule
  • SV-64249
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.
Checks: C-19862r554498_chk

Check that auditd is configured to audit failed file access attempts. There must be an audit rule for each of the access syscalls that logs all failed accesses (-F success=0) or there must both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S open" | grep -e "-F success=0" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S open" | grep -e "-F exit=-EPERM" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S open" | grep -e "-F exit=-EACCES" If an "-S open" audit rule with "-F success" does not exist and no separate rules containing "-F exit=-EPERM" and "-F exit=-EACCES" for "open" exist, then this is a finding.

Fix: F-19860r554499_fix

Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: either: -a exit,always -F arch=<ARCH> -S open -F success=0 or both: -a exit,always -F arch=<ARCH> -S open -F exit=-EPERM -a exit,always -F arch=<ARCH> -S open -F exit=-EACCES Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit failed attempts to access files and programs.
AU-2 - Medium - CCI-000126 - V-218388 - SV-218388r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002720-3
Vuln IDs
  • V-218388
  • V-29237
Rule IDs
  • SV-218388r603259_rule
  • SV-64255
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.
Checks: C-19863r554501_chk

Verify auditd is configured to audit failed file access attempts. There must be an audit rule for each of the access syscalls logging all failed accesses (-F success=0) or there must both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S openat" | grep -e "-F success=0" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S openat" | grep -e "-F exit=-EPERM" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S openat" | grep -e "-F exit=-EACCES" If an "-S openat" audit rule with "-F success" does not exist and no separate rules containing "-F exit=-EPERM" and "-F exit=-EACCES" for "openat" exist, then this is a finding.

Fix: F-19861r554502_fix

Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: either: -a exit,always -F arch=<ARCH> -S openat -F success=0 or both: -a exit,always -F arch=<ARCH> -S openat -F exit=-EPERM -a exit,always -F arch=<ARCH> -S openat -F exit=-EACCES Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit failed attempts to access files and programs.
CM-6 - Medium - CCI-000366 - V-218389 - SV-218389r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002720-4
Vuln IDs
  • V-218389
  • V-29238
Rule IDs
  • SV-218389r603259_rule
  • SV-64257
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.
Checks: C-19864r554504_chk

Verify auditd is configured to audit failed file access attempts. There must be an audit rule for each of the access syscalls logging all failed accesses (-F success=0) or there must both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S truncate" | grep -e "-F success=0" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S truncate" | grep -e "-F exit=-EPERM" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S truncate" | grep -e "-F exit=-EACCES" If an "-S truncate" audit rule with "-F success" does not exist and no separate rules containing "-F exit=-EPERM" and "-F exit=-EACCES" for "truncate" exist, then this is a finding.

Fix: F-19862r554505_fix

Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: either: -a exit,always -F arch=<ARCH> -S truncate -F success=0 or both: -a exit,always -F arch=<ARCH> -S truncate -F exit=-EPERM -a exit,always -F arch=<ARCH> -S truncate -F exit=-EACCES Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit failed attempts to access files and programs.
AU-2 - Medium - CCI-000126 - V-218390 - SV-218390r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002720-5
Vuln IDs
  • V-218390
  • V-29239
Rule IDs
  • SV-218390r603259_rule
  • SV-64259
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.
Checks: C-19865r554507_chk

Verify auditd is configured to audit failed file access attempts. There must be an audit rule for each of the access syscalls logging all failed accesses (-F success=0) or there must both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S ftruncate" | grep -e "-F success=0" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S ftruncate" | grep -e "-F exit=-EPERM" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S ftruncate" | grep -e "-F exit=-EACCES" If an "-S ftruncate" audit rule with "-F success" does not exist and no separate rules containing "-F exit=-EPERM" and "-F exit=-EACCES" for "ftruncate" exist, then this is a finding.

Fix: F-19863r554508_fix

Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: either: -a exit,always -F arch=<ARCH> -S ftruncate -F success=0 or both: -a exit,always -F arch=<ARCH> -S ftruncate -F exit=-EPERM -a exit,always -F arch=<ARCH> -S ftruncate -F exit=-EACCES Restart the auditd service. # service auditd restart

b
The audit system must alert the SA when the audit storage volume approaches its capacity.
AU-5 - Medium - CCI-000143 - V-218391 - SV-218391r603259_rule
RMF Control
AU-5
Severity
Medium
CCI
CCI-000143
Version
GEN002730
Vuln IDs
  • V-218391
  • V-22375
Rule IDs
  • SV-218391r603259_rule
  • SV-64261
An accurate and current audit trail is essential for maintaining a record of system activity. If the system fails, the SA must be notified and must take prompt action to correct the problem. Minimally, the system must log this event and the SA will receive this notification during the daily system log review. If feasible, active alerting (such as e-mail or paging) should be employed consistent with the site's established operations management systems and procedures.
Checks: C-19866r569092_chk

Check /etc/audit/auditd.conf for the space_left_action and action_mail_accnt parameters. If the space_left_action or the action_mail_accnt parameters are set to blanks, this is a finding. If the space_left_action is set to "syslog", the system logs the event, this is not a finding. If the space_left_action is set to "exec", the system executes a designated script. If this script informs the SA of the event, this is not a finding. If the space_left_action parameter is missing, this is a finding. If the space_left_action parameter is set to "ignore" or "suspend" no logging would be performed after the event, this is a finding. If the space_left_action parameter is set to "single" or "halt" this effectively stops the system causing a Denial of Service, this is a finding. If the space_left_action is set to "email" and the action_mail_acct parameter is not set to the e-mail address of the system administrator, this is a finding. The action_mail_acct parameter, if missing, defaults to "root". Note that if the email address of the system administrator is on a remote system "sendmail" must be available.

Fix: F-19864r569093_fix

Edit /etc/audit/auditd.conf and set the space_left_action parameter to a valid setting other than "ignore". If the space_left_action parameter is set to "email" set the action_mail_acct parameter to an e-mail address for the system administrator.

b
The audit system must be configured to audit files and programs deleted by the user.
AU-2 - Medium - CCI-000126 - V-218392 - SV-218392r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002740
Vuln IDs
  • V-218392
  • V-815
Rule IDs
  • SV-218392r603259_rule
  • SV-64263
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.
Checks: C-19867r554513_chk

Check the system audit configuration to determine if file and directory deletions are audited. # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "unlink" If no results are returned, or the results do not contain "-S unlink", this is a finding.

Fix: F-19865r554514_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the /etc/audit/audit.rules file, and add one or more the lines (subject to the dual-architecture discussion above) to enable auditing of deletions: -a exit,always -F arch=<ARCH> -S unlink Restart the auditd service: # service auditd restart

b
The audit system must be configured to audit file deletions.
CM-6 - Medium - CCI-000366 - V-218393 - SV-218393r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002740-2
Vuln IDs
  • V-218393
  • V-29240
Rule IDs
  • SV-218393r603259_rule
  • SV-64265
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.
Checks: C-19868r554516_chk

Check the system audit configuration to determine if file and directory deletions are audited. # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "rmdir" If no results are returned, or the results do not contain "-S rmdir", this is a finding.

Fix: F-19866r554517_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the /etc/audit/audit.rules file, and add one or more the lines (subject to the dual-architecture discussion above) to enable auditing of deletions: -a exit,always -F arch=<ARCH> -S rmdir Restart the auditd service: # service auditd restart

a
The audit system must be configured to audit account creation.
AC-2 - Low - CCI-000018 - V-218394 - SV-218394r603259_rule
RMF Control
AC-2
Severity
Low
CCI
CCI-000018
Version
GEN002750
Vuln IDs
  • V-218394
  • V-22376
Rule IDs
  • SV-218394r603259_rule
  • SV-64267
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.
Checks: C-19869r554519_chk

Determine if execution of the useradd and groupadd executable are audited. # auditctl -l | egrep '(useradd|groupadd)' If either useradd or groupadd are not listed with a permissions filter of at least 'x', this is a finding. Determine if /etc/passwd, /etc/shadow, /etc/group, and /etc/gshadow are audited for appending. # auditctl -l | egrep '(/etc/passwd|/etc/shadow|/etc/group|/etc/gshadow)' If any of these are not listed with a permissions filter of at least 'a', this is a finding.

Fix: F-19867r554520_fix

Configure execute auditing of the useradd and groupadd executables. Add the following to audit.rules: -w /usr/sbin/useradd -p x -k useradd -w /usr/sbin/groupadd -p x -k groupadd Configure append auditing of the passwd, shadow, group, and gshadow files. Add the following to audit.rules: -w /etc/passwd -p a -k passwd -w /etc/shadow -p a -k shadow -w /etc/group -p a -k group -w /etc/gshadow -p a -k gshadow Restart the auditd service.

a
The audit system must be configured to audit account modification.
AC-2 - Low - CCI-001403 - V-218395 - SV-218395r603259_rule
RMF Control
AC-2
Severity
Low
CCI
CCI-001403
Version
GEN002751
Vuln IDs
  • V-218395
  • V-22377
Rule IDs
  • SV-218395r603259_rule
  • SV-64269
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.
Checks: C-19870r554522_chk

Determine if execution of the usermod and groupmod executable are audited. # auditctl -l | egrep '(usermod|groupmod)' If either useradd or groupadd are not listed with a permissions filter of at least 'w', this is a finding. Determine if /etc/passwd, /etc/shadow, /etc/group, and /etc/gshadow are audited for writing. # auditctl -l | egrep '(/etc/passwd|/etc/shadow|/etc/group|/etc/gshadow)' If any of these are not listed with a permissions filter of at least 'w', this is a finding.

Fix: F-19868r554523_fix

Configure execute auditing of the usermod and groupmod executables. Add the following to the audit.rules file: -w /usr/sbin/usermod -p x -k usermod -w /usr/sbin/groupmod -p x -k groupmod Configure append auditing of the passwd, shadow, group, and gshadow files. Add the following to the audit.rules file: -w /etc/passwd -p w -k passwd -w /etc/shadow -p w -k shadow -w /etc/group -p w -k group -w /etc/gshadow -p w -k gshadow Restart the auditd service.

a
The audit system must be configured to audit account disabling.
AC-2 - Low - CCI-001404 - V-218396 - SV-218396r603259_rule
RMF Control
AC-2
Severity
Low
CCI
CCI-001404
Version
GEN002752
Vuln IDs
  • V-218396
  • V-22378
Rule IDs
  • SV-218396r603259_rule
  • SV-64271
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.
Checks: C-19871r554525_chk

Determine if execution of the passwd executable is audited. # auditctl -l | grep /usr/bin/passwd If passwd is not listed with a permissions filter of at least 'x', this is a finding.

Fix: F-19869r554526_fix

Configure execute auditing of the passwd executable. Add the following to the audit.rules file: -w /usr/bin/passwd -p x -k passwd Restart the auditd service.

a
The audit system must be configured to audit account termination.
AC-2 - Low - CCI-001405 - V-218397 - SV-218397r603259_rule
RMF Control
AC-2
Severity
Low
CCI
CCI-001405
Version
GEN002753
Vuln IDs
  • V-218397
  • V-22382
Rule IDs
  • SV-218397r603259_rule
  • SV-64273
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.
Checks: C-19872r554528_chk

Determine if execution of the userdel and groupdel executable are audited. # auditctl -l | egrep '(userdel|groupdel)' If either userdel or groupdel are not listed with a permissions filter of at least 'x', this is a finding.

Fix: F-19870r554529_fix

Configure execute auditing of the userdel and groupdel executables. Add the following to the audit.rules file: -w /usr/sbin/userdel -p x -w /usr/sbin/groupdel -p x Restart the auditd service.

b
The audit system must be configured to audit all administrative, privileged, and security actions.
AU-12 - Medium - CCI-000169 - V-218398 - SV-218398r603259_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
GEN002760-10
Vuln IDs
  • V-218398
  • V-29249
Rule IDs
  • SV-218398r603259_rule
  • SV-64275
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.
Checks: C-19873r569095_chk

Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "sched_setscheduler" If the result does not contain "-S sched_setscheduler", this is a finding.

Fix: F-19871r569096_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the /etc/audit/audit.rules file, and add one or more the lines (subject to the dual-architecture discussion above) to enable auditing of operations that change operating system scheduling algorithms and parameters: -a exit,always -F arch=<ARCH> -S sched_setscheduler Restart the auditd service: # service auditd restart

b
The audit system must be configured to audit all administrative, privileged, and security actions.
CM-5 - Medium - CCI-000347 - V-218399 - SV-218399r603259_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-000347
Version
GEN002760-2
Vuln IDs
  • V-218399
  • V-29241
Rule IDs
  • SV-218399r603259_rule
  • SV-64471
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.
Checks: C-19874r569098_chk

Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -i "audit.rules" If no results are returned, or the line does not start with "-w", this is a finding.

Fix: F-19872r569099_fix

The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -w /etc/audit/audit.rules Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all administrative, privileged, and security actions.
AU-12 - Medium - CCI-000169 - V-218400 - SV-218400r603259_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
GEN002760-3
Vuln IDs
  • V-218400
  • V-29242
Rule IDs
  • SV-218400r603259_rule
  • SV-64481
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.
Checks: C-19875r569101_chk

Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "adjtimex" If the result does not contain "-S adjtimex", this is a finding.

Fix: F-19873r569102_fix

The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S adjtimex Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all administrative, privileged, and security actions.
CM-5 - Medium - CCI-000347 - V-218401 - SV-218401r603259_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-000347
Version
GEN002760-4
Vuln IDs
  • V-218401
  • V-29243
Rule IDs
  • SV-218401r603259_rule
  • SV-64489
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.
Checks: C-19876r569104_chk

Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "settimeofday" If the result does not contain "-S settimeofday", this is a finding.

Fix: F-19874r569105_fix

The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S settimeofday Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all administrative, privileged, and security actions.
AU-12 - Medium - CCI-000169 - V-218402 - SV-218402r603259_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
GEN002760-5
Vuln IDs
  • V-218402
  • V-29244
Rule IDs
  • SV-218402r603259_rule
  • SV-64491
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.
Checks: C-19877r569107_chk

Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "stime" # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "settimeofday" If the result does not contain "-S stime" or "-S settimeofday ", this is a finding. The "stime" keyword is only required on systems using an i386 architecture.

Fix: F-19875r569108_fix

The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S stime (only used for systems using an i386 architecture) -a exit,always -F arch=<ARCH> -S settimeofday (used on all non-i386 architectures such as b64 and x86_64) Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all administrative, privileged, and security actions.
CM-5 - Medium - CCI-000347 - V-218403 - SV-218403r603259_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-000347
Version
GEN002760-6
Vuln IDs
  • V-218403
  • V-29245
Rule IDs
  • SV-218403r603259_rule
  • SV-64529
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.
Checks: C-19878r569110_chk

Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "clock_settime" If the result does not contain "-S clock_settime", this is a finding.

Fix: F-19876r569111_fix

The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S clock_settime Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all administrative, privileged, and security actions.
AU-12 - Medium - CCI-000169 - V-218404 - SV-218404r603259_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
GEN002760-7
Vuln IDs
  • V-218404
  • V-29246
Rule IDs
  • SV-218404r603259_rule
  • SV-64543
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.
Checks: C-19879r569113_chk

Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "sethostname" If the result does not contain "-S sethostname", this is a finding.

Fix: F-19877r569114_fix

The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S sethostname Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all administrative, privileged, and security actions.
CM-5 - Medium - CCI-000347 - V-218405 - SV-218405r603259_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-000347
Version
GEN002760-8
Vuln IDs
  • V-218405
  • V-29247
Rule IDs
  • SV-218405r603259_rule
  • SV-64551
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.
Checks: C-19880r569116_chk

Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "setdomain" If the result does not contain "-S setdomain", this is a finding.

Fix: F-19878r569117_fix

The "-F arch=<ARCH>"restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>"restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: -a exit,always -F arch=<ARCH> -S setdomainname Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all administrative, privileged, and security actions.
AU-12 - Medium - CCI-000169 - V-218406 - SV-218406r603259_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
GEN002760-9
Vuln IDs
  • V-218406
  • V-29248
Rule IDs
  • SV-218406r603259_rule
  • SV-64555
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.
Checks: C-19881r569119_chk

Check the auditing configuration of the system. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "sched_setparam" If the result does not contain "-S sched_setparam", this is a finding.

Fix: F-19879r569120_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the /etc/audit/audit.rules file, and add one or more the lines (subject to the dual-architecture discussion above) to enable auditing of operations that change operating system scheduling parameters: -a exit,always -F arch=<ARCH> -S sched_setparam Restart the auditd service: # service auditd restart

b
The audit system must be configured to audit login, logout, and session initiation.
CM-6 - Medium - CCI-000366 - V-218407 - SV-218407r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002800
Vuln IDs
  • V-218407
  • V-818
Rule IDs
  • SV-218407r603259_rule
  • SV-65285
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.
Checks: C-19882r554558_chk

The message types that are always recorded to /var/log/audit/audit.log include LOGIN,USER_LOGIN,USER_START,USER_END among others and do not need to be added to audit_rules. The log files /var/log/faillog and /var/log/lastlog must be protected from tampering of the login records. Procedure: #egrep "faillog|lastlog" /etc/audit/audit.rules|grep "-p (wa|aw)" If both /var/log/faillog and /var/log/lastlog entries do not exist, this is a finding.

Fix: F-19880r554559_fix

Ensure logins. Procedure: Modify /etc/audit/audit.rules to contain: -w /var/log/faillog -p wa -w /var/log/lastlog -p wa Restart the auditd service: # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
AU-2 - Medium - CCI-000126 - V-218408 - SV-218408r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002820
Vuln IDs
  • V-218408
  • V-819
Rule IDs
  • SV-218408r603259_rule
  • SV-64623
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.
Checks: C-19883r554561_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i " chmod " If "-S chmod" is not in the result, this is a finding.

Fix: F-19881r554562_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S chmod Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
CM-6 - Medium - CCI-000366 - V-218409 - SV-218409r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002820-10
Vuln IDs
  • V-218409
  • V-29272
Rule IDs
  • SV-218409r603259_rule
  • SV-64619
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.
Checks: C-19884r554564_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fsetxattr" If "-S fsetxattr" is not in the result, this is a finding.

Fix: F-19882r554565_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fsetxattr Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
AU-2 - Medium - CCI-000126 - V-218410 - SV-218410r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002820-11
Vuln IDs
  • V-218410
  • V-29274
Rule IDs
  • SV-218410r603259_rule
  • SV-64617
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.
Checks: C-19885r554567_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "removexattr" If "-S removexattr" is not in the result, this is a finding.

Fix: F-19883r554568_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S removexattr Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
CM-6 - Medium - CCI-000366 - V-218411 - SV-218411r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002820-12
Vuln IDs
  • V-218411
  • V-29275
Rule IDs
  • SV-218411r603259_rule
  • SV-64615
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.
Checks: C-19886r554570_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "lremovexattr" If "-S lremovexattr" is not in the result, this is a finding.

Fix: F-19884r554571_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S lremovexattr Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
AU-2 - Medium - CCI-000126 - V-218412 - SV-218412r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002820-13
Vuln IDs
  • V-218412
  • V-29279
Rule IDs
  • SV-218412r603259_rule
  • SV-64613
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.
Checks: C-19887r554573_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fremovexattr" If "-S fremovexattr" is not in the result, this is a finding.

Fix: F-19885r554574_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fremovexattr Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
CM-6 - Medium - CCI-000366 - V-218413 - SV-218413r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002820-2
Vuln IDs
  • V-218413
  • V-29250
Rule IDs
  • SV-218413r603259_rule
  • SV-64611
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.
Checks: C-19888r555437_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fchmod" If "-S fchmod" is not in the result, this is a finding.

Fix: F-19886r555438_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fchmod Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
AU-2 - Medium - CCI-000126 - V-218414 - SV-218414r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002820-3
Vuln IDs
  • V-218414
  • V-29251
Rule IDs
  • SV-218414r603259_rule
  • SV-64609
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.
Checks: C-19889r555440_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fchmodat" If "-S fchmodat" is not in the result, this is a finding.

Fix: F-19887r555441_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fchmodat Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
CM-6 - Medium - CCI-000366 - V-218415 - SV-218415r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002820-4
Vuln IDs
  • V-218415
  • V-29252
Rule IDs
  • SV-218415r603259_rule
  • SV-64607
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.
Checks: C-19890r555443_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "chown" If "-S chown" is not in the result, this is a finding. Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "chown32" If "-S chown32" is not in the result, this is a finding.

Fix: F-19888r555444_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S chown Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): -a exit,always -F arch=<ARCH> -S chown32 Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
AU-2 - Medium - CCI-000126 - V-218416 - SV-218416r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002820-5
Vuln IDs
  • V-218416
  • V-29253
Rule IDs
  • SV-218416r603259_rule
  • SV-64605
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.
Checks: C-19891r555446_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fchown" If "-S fchown" is not in the result, this is a finding. Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fchown32" If "-S fchown32" is not in the result, this is a finding.

Fix: F-19889r555447_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fchown Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): -a exit,always -F arch=<ARCH> -S fchown32 Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
CM-6 - Medium - CCI-000366 - V-218417 - SV-218417r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002820-6
Vuln IDs
  • V-218417
  • V-29255
Rule IDs
  • SV-218417r603259_rule
  • SV-64603
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.
Checks: C-19892r555449_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "fchownat" If "-S fchownat" is not in the result, this is a finding.

Fix: F-19890r555450_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S fchownat Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
AU-2 - Medium - CCI-000126 - V-218418 - SV-218418r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002820-7
Vuln IDs
  • V-218418
  • V-29257
Rule IDs
  • SV-218418r603259_rule
  • SV-64601
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.
Checks: C-19893r555452_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "lchown" If "-S lchown" is not in the result, this is a finding. Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "lchown32" If "-S lchown32" is not in the result, this is a finding.

Fix: F-19891r555453_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S lchown Additionally, the following rule is required in systems supporting the 32-bit syscall table (such as i686 and x86_64): -a exit,always -F arch=<ARCH> -S lchown32 Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
CM-6 - Medium - CCI-000366 - V-218419 - SV-218419r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002820-8
Vuln IDs
  • V-218419
  • V-29259
Rule IDs
  • SV-218419r603259_rule
  • SV-64599
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.
Checks: C-19894r555455_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "setxattr" If "-S setxattr" is not in the result, this is a finding.

Fix: F-19892r555456_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S setxattr Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit all discretionary access control permission modifications.
AC-6 - Medium - CCI-002234 - V-218420 - SV-218420r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002234
Version
GEN002820-9
Vuln IDs
  • V-218420
  • V-29261
Rule IDs
  • SV-218420r603259_rule
  • SV-64591
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.
Checks: C-19895r555458_chk

Check the system's audit configuration. Procedure: # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "lsetxattr" If "-S lsetxattr" is not in the result, this is a finding.

Fix: F-19893r555459_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the audit.rules file and add the following lines to enable auditing of discretionary access control permissions modifications. -a exit,always -F arch=<ARCH> -S lsetxattr Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit the loading and unloading of dynamic kernel modules.
AU-2 - Medium - CCI-000126 - V-218421 - SV-218421r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002825
Vuln IDs
  • V-218421
  • V-22383
Rule IDs
  • SV-218421r603259_rule
  • SV-64505
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.
Checks: C-19896r569122_chk

Determine if the init_module syscall is audited. # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "init_module" If the result does not contain "-S init_module", this is a finding.

Fix: F-19894r569123_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement, and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Configure auditing of the init_module syscalls. Add the following to the "etc/audit/audit.rules" or "etc/audit.rules" file: -a exit,always -S init_module Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit the loading and unloading of dynamic kernel modules - delete_module.
CM-6 - Medium - CCI-000366 - V-218422 - SV-218422r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002825-2
Vuln IDs
  • V-218422
  • V-29281
Rule IDs
  • SV-218422r603259_rule
  • SV-64499
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.
Checks: C-19897r569125_chk

Determine if the delete_module syscall is audited. # cat /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "delete_module" If the result does not contain "-S delete_module", this is a finding.

Fix: F-19895r569126_fix

The "-F arch=<ARCH>" restriction is required on dual-architecture systems (such as x86_64). On dual-architecture systems, two separate rules must exist - one for each architecture supported. Use the generic architectures "b32" and "b64" for specifying these rules. On single architecture systems, the "-F arch=<ARCH>" restriction may be omitted, but if present must match either the architecture of the system or its corresponding generic architecture. The architecture of the system may be determined by running "uname -m". See the auditctl(8) manpage for additional details. Any restrictions (such as with "-F") beyond those provided in the example rules are not in strict compliance with this requirement and are a finding unless justified and documented appropriately. The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Edit the /etc/audit/audit.rules file, and add one or more the lines (subject to the dual-architecture discussion above) to enable auditing of kernel loadable module deletions: -a exit,always -F arch=<ARCH> -S delete_module Restart the auditd service: # service auditd restart

b
The audit system must be configured to audit the loading and unloading of dynamic kernel modules - /sbin/insmod.
AU-2 - Medium - CCI-000126 - V-218423 - SV-218423r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002825-3
Vuln IDs
  • V-218423
  • V-29284
Rule IDs
  • SV-218423r603259_rule
  • SV-64495
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.
Checks: C-19898r569128_chk

Determine if /sbin/insmod is audited. # cat /etc/audit/audit.rules | grep "/sbin/insmod" If the result does not start with "-w" and contain "-p x", this is a finding.

Fix: F-19896r569129_fix

The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Configure auditing of the /sbin/insmod, files. Add the following to the "etc/audit/audit.rules" or "etc/audit.rules" file: -w /sbin/insmod -p x Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit the loading and unloading of dynamic kernel modules -/sbin/modprobe.
CM-6 - Medium - CCI-000366 - V-218424 - SV-218424r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002825-4
Vuln IDs
  • V-218424
  • V-29286
Rule IDs
  • SV-218424r603259_rule
  • SV-64429
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.
Checks: C-19899r562435_chk

Determine if the /sbin/modprobe file is audited. # cat /etc/audit/audit.rules | grep "/sbin/modprobe" If the result does not start with "-w" and contain "-p x", this is a finding.

Fix: F-19897r562436_fix

The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: -w /sbin/modprobe -p x Restart the auditd service. # service auditd restart

b
The audit system must be configured to audit the loading and unloading of dynamic kernel modules - /sbin/rmmod
AU-2 - Medium - CCI-000126 - V-218425 - SV-218425r603259_rule
RMF Control
AU-2
Severity
Medium
CCI
CCI-000126
Version
GEN002825-5
Vuln IDs
  • V-218425
  • V-29288
Rule IDs
  • SV-218425r603259_rule
  • SV-64425
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.
Checks: C-19900r562438_chk

Determine if the /sbin/rmmod file is audited. # cat /etc/audit/audit.rules | grep "/sbin/rmmod" If the result does not start with "-w" and contain "-p x", this is a finding.

Fix: F-19898r562439_fix

The use of audit keys consistent with the provided example is encouraged to provide for uniform audit logs, however omitting the audit key or using an alternate audit key is not a finding. Procedure: Configure auditing of the /sbin/rmmod file. Add the following to the "etc/audit/audit.rules" or "etc/audit.rules" file: -w /sbin/rmmod -p x Restart the auditd service. # service auditd restart

b
Audit logs must be rotated daily.
CM-6 - Medium - CCI-000366 - V-218426 - SV-218426r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002860
Vuln IDs
  • V-218426
  • V-4357
Rule IDs
  • SV-218426r603259_rule
  • SV-64423
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.
Checks: C-19901r555476_chk

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 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: F-19899r555477_fix

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

a
The system must be configured to send audit/system records to a remote audit server.
AU-3 - Low - CCI-000136 - V-218427 - SV-218427r603259_rule
RMF Control
AU-3
Severity
Low
CCI
CCI-000136
Version
GEN002870
Vuln IDs
  • V-218427
  • V-24357
Rule IDs
  • SV-218427r603259_rule
  • SV-64419
System/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.
Checks: C-19902r562441_chk

Verify the system is configured to forward all audit records to a remote server. If the system is not configured to provide this function, this is a finding. Procedure: Ensure the audit option for the kernel is enabled. # grep "audit" /boot/grub/grub.conf | grep -v "^#" If the kernel does not have the "audit=1" option specified, this is a finding. Ensure the kernel auditing is active. # grep "active" /etc/audisp/plugins.d/syslog.conf | grep -v "^#" If the "active" setting is either missing or not set to "yes", this is a finding. Ensure all audit records are forwarded to a remote server. # grep "\*.\*" /etc/syslog.conf |grep "@" | grep -v "^#" (for syslog) or: # grep "\*.\*" /etc/rsyslog.conf | grep "@" | grep -v "^#" (for rsyslog) If neither of these lines exist, it is a finding.

Fix: F-19900r562442_fix

Configure the system to send audit records to a remote server. Procedure: These instructions assume a known remote audit server is available to this system. Modify /etc/syslog.conf or /etc/rsyslog.conf to contain a line sending all audit records to a remote audit server. The server is specified by placing an "@" before the DNS name or IP address in the line. *.* @<remote audit server> Edit the "active" line in /etc/audisp/plugins.d/syslog.conf so it shows "active = yes". Restart audit and syslog: # service auditd restart # service syslog restart Or: # service rsyslog restart

b
Access to the cron utility must be controlled using the cron.allow and/or cron.deny file(s).
AC-6 - Medium - CCI-000225 - V-218428 - SV-218428r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002960
Vuln IDs
  • V-218428
  • V-974
Rule IDs
  • SV-218428r603259_rule
  • SV-64415
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 the cron.allow file is not present, users listed in the cron.deny file are not allowed to use the cron facility. Improper configuration of cron may open the facility up for abuse by system intruders and malicious users.
Checks: C-19903r562444_chk

This check is not applicable if only the root user is permitted to use cron. Check for the existence of the cron.allow and cron.deny files. # ls -lL /etc/cron.allow # ls -lL /etc/cron.deny If neither file exists, this is a finding.

Fix: F-19901r562445_fix

Create /etc/cron.allow and/or /etc/cron.deny with appropriate content and reboot the system to ensure no lingering cron jobs are processed.

b
The cron.allow file must have mode 0600 or less permissive.
AC-6 - Medium - CCI-000225 - V-218429 - SV-218429r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002980
Vuln IDs
  • V-218429
  • V-975
Rule IDs
  • SV-218429r603259_rule
  • SV-64411
A readable and/or writable cron.allow file by users 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.
Checks: C-19904r562447_chk

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

Fix: F-19902r562448_fix

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

b
The cron.allow file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218430 - SV-218430r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN002990
Vuln IDs
  • V-218430
  • V-22384
Rule IDs
  • SV-218430r603259_rule
  • SV-64407
A readable and/or writeable cron.allow file by other users 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.
Checks: C-19905r562450_chk

Check the permissions of the cron.allow file. # ls -l /etc/cron.allow If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19903r562451_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/cron.allow

b
Cron must not execute group-writable or world-writable programs.
AC-6 - Medium - CCI-000225 - V-218431 - SV-218431r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003000
Vuln IDs
  • V-218431
  • V-976
Rule IDs
  • SV-218431r603259_rule
  • SV-64405
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.
Checks: C-19906r562453_chk

List all cronjobs on the system. Procedure: # ls /var/spool/cron # ls /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls /etc/cron*|grep -v deny If cron jobs exist under any of the above directories, use the following command to search for programs executed by cron: # more &lt;cron job file&gt; Perform a long listing of each program file found in the cron file to determine if the file is group-writable or world-writable. # ls -la &lt;cron program file&gt; If cron executes group-writable or world-writable files, this is a finding.

Fix: F-19904r562454_fix

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

b
Cron must not execute programs in, or subordinate to, world-writable directories.
AC-6 - Medium - CCI-000225 - V-218432 - SV-218432r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003020
Vuln IDs
  • V-218432
  • V-977
Rule IDs
  • SV-218432r603259_rule
  • SV-64403
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.
Checks: C-19907r562456_chk

List all cronjobs on the system. Procedure: # ls /var/spool/cron # ls /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls /etc/cron*|grep -v deny If cron jobs exist under any of the above directories, use the following command to search for programs executed by at: # more &lt;cron job file&gt; Perform a long listing of each directory containing program files found in the cron file to determine if the directory is world-writable. # ls -ld &lt;cron program directory&gt; If cron executes programs in world-writable directories, this is a finding.

Fix: F-19905r562457_fix

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

b
Crontabs must be owned by root or the crontab creator.
AC-6 - Medium - CCI-000225 - V-218433 - SV-218433r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003040
Vuln IDs
  • V-218433
  • V-11994
Rule IDs
  • SV-218433r603259_rule
  • SV-64401
To protect the integrity of scheduled system jobs and prevent malicious modification to these jobs, crontab files must be secured.
Checks: C-19908r562459_chk

List all crontabs on the system. # ls -lL /var/spool/cron # ls -lL /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -lL /etc/cron*|grep -v deny If any crontab is not owned by root or the creating user, this is a finding.

Fix: F-19906r562460_fix

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

b
Crontab files must be group-owned by root, cron, or the crontab creators primary group.
AC-6 - Medium - CCI-000225 - V-218434 - SV-218434r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003050
Vuln IDs
  • V-218434
  • V-22385
Rule IDs
  • SV-218434r603259_rule
  • SV-64399
To protect the integrity of scheduled system jobs and prevent malicious modification to these jobs, crontab files must be secured.
Checks: C-19909r562462_chk

Check the group ownership of the crontab files. Procedure: # ls -lL /var/spool/cron # ls -lL /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -lL /etc/cron*|grep -v deny If the group owner is not root or the crontab owner's primary group, this is a finding.

Fix: F-19907r562463_fix

Change the group owner of the crontab file to root, cron, or the crontab's primary group. Procedure: # chgrp root [crontab file]

b
Default system accounts (with the exception of root) must not be listed in the cron.allow file or must be included in the cron.deny file, if cron.allow does not exist.
AC-6 - Medium - CCI-000225 - V-218435 - SV-218435r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003060
Vuln IDs
  • V-218435
  • V-11995
Rule IDs
  • SV-218435r603259_rule
  • SV-64395
To centralize the management of privileged account crontabs, of the default system accounts, only root may have a crontab.
Checks: C-19910r562465_chk

Check the cron.allow and cron.deny files for the system. # more /etc/cron.allow # more /etc/cron.deny If a default system account (such as bin, sys, adm, or others, traditionally UID less than 500) is listed in the cron.allow file, or not listed in the cron.deny file and if no cron.allow file exists, this is a finding.

Fix: F-19908r562466_fix

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

b
Crontab files must have mode 0600 or less permissive, and files in cron script directories must have mode 0700 or less permissive.
AC-6 - Medium - CCI-000225 - V-218436 - SV-218436r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003080
Vuln IDs
  • V-218436
  • V-978
Rule IDs
  • SV-218436r603259_rule
  • SV-64391
To protect the integrity of scheduled system jobs and prevent malicious modification to these jobs, crontab files must be secured.
Checks: C-19911r562468_chk

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

Fix: F-19909r562469_fix

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

b
Files in cron script directories must have mode 0700 or less permissive.
AC-6 - Medium - CCI-000225 - V-218437 - SV-218437r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003080-2
Vuln IDs
  • V-218437
  • V-29289
Rule IDs
  • SV-218437r603259_rule
  • SV-64385
To protect the integrity of scheduled system jobs and prevent malicious modification to these jobs, crontab files must be secured.
Checks: C-19912r562471_chk

Check the mode of scripts in cron job directories. # ls -lL /etc/cron.daily/ # ls -lL /etc/cron.hourly/ # ls -lL /etc/cron.monthly/ # ls -lL /etc/cron.weekly/ If any cron script has a mode more permissive than 0700, this is a finding.

Fix: F-19910r562472_fix

Change the mode of the cron scripts. # chmod 0700 /etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/* /etc/cron.weekly/*

b
Crontab files must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218438 - SV-218438r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003090
Vuln IDs
  • V-218438
  • V-22386
Rule IDs
  • SV-218438r603259_rule
  • SV-64381
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.
Checks: C-19913r562474_chk

Check the permissions of the crontab files. Procedure: # ls -lL /var/spool/cron # ls -lL /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -lL /etc/cron*|grep -v deny If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19911r562475_fix

Remove the extended ACL from the file. # setfacl --remove-all [crontab file]

b
Cron and crontab directories must have mode 0755 or less permissive.
AC-6 - Medium - CCI-000225 - V-218439 - SV-218439r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003100
Vuln IDs
  • V-218439
  • V-979
Rule IDs
  • SV-218439r603259_rule
  • SV-64375
To protect the integrity of scheduled system jobs and to prevent malicious modification to these jobs, crontab files must be secured.
Checks: C-19914r562477_chk

Check the mode of the crontab directories. Procedure: # ls -ld /var/spool/cron # ls -ld /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -ld /etc/cron*|grep -v deny If the mode of any of the crontab directories is more permissive than 0755, this is a finding.

Fix: F-19912r562478_fix

Change the mode of the crontab directories. # chmod 0755 <crontab directory>

b
Cron and crontab directories must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218440 - SV-218440r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003110
Vuln IDs
  • V-218440
  • V-22387
Rule IDs
  • SV-218440r603259_rule
  • SV-64367
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.
Checks: C-19915r562480_chk

Check the permissions of the crontab directories. Procedure: # ls -ld /var/spool/cron # ls -ld /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -ld /etc/cron*|grep -v deny If the permissions include a '+' the directory has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19913r562481_fix

Remove the extended ACL from the directory. # setfacl --remove-all <crontab directory>

b
Cron and crontab directories must be owned by root or bin.
AC-6 - Medium - CCI-000225 - V-218441 - SV-218441r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003120
Vuln IDs
  • V-218441
  • V-980
Rule IDs
  • SV-218441r603259_rule
  • SV-64293
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.
Checks: C-19916r562483_chk

Check the owner of the crontab directories. Procedure: # ls -ld /var/spool/cron # ls -ld /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -ld /etc/cron*|grep -v deny If the owner of any of the crontab directories is not root or bin, this is a finding.

Fix: F-19914r562484_fix

Change the mode of the crontab directories. # chown root <crontab directory>

b
Cron and crontab directories must be group-owned by root, sys, bin or cron.
AC-6 - Medium - CCI-000225 - V-218442 - SV-218442r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003140
Vuln IDs
  • V-218442
  • V-981
Rule IDs
  • SV-218442r603259_rule
  • SV-64305
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.
Checks: C-19917r562486_chk

Check the group owner of cron and crontab directories. Procedure: # ls -ld /var/spool/cron # ls -ld /etc/cron.d /etc/crontab /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -ld /etc/cron*|grep -v deny If a directory is not group-owned by root, sys, bin, or cron, this is a finding.

Fix: F-19915r562487_fix

Change the group owner of cron and crontab directories. # chgrp root <crontab directory>

b
Cron logging must be implemented.
CM-6 - Medium - CCI-000366 - V-218443 - SV-218443r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN003160
Vuln IDs
  • V-218443
  • V-982
Rule IDs
  • SV-218443r603259_rule
  • SV-64313
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.
Checks: C-19918r555527_chk

Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. # grep cron /etc/syslog.conf Or: # grep cron /etc/rsyslog.conf If cron logging is not configured, this is a finding. Check the configured cron log file found in the cron entry of /etc/syslog.conf or /etc/rsyslog.conf (normally /var/log/cron). # ls -lL /var/log/cron If this file does not exist, or is older than the last cron job, this is a finding.

Fix: F-19916r555528_fix

Edit /etc/syslog.conf or /etc/rsyslog.conf and setup cron logging.

b
The cronlog file must have mode 0600 or less permissive.
AC-6 - Medium - CCI-000225 - V-218444 - SV-218444r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003180
Vuln IDs
  • V-218444
  • V-983
Rule IDs
  • SV-218444r603259_rule
  • SV-64317
Cron logs contain reports of scheduled system activities and must be protected from unauthorized access or manipulation.
Checks: C-19919r562489_chk

Check the mode of the cron log file. Procedure: Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Check the configured cron log file found in the cron entry in /etc/syslog.conf or /etc/rsyslog.conf (normally /var/log/cron). # grep cron /etc/syslog.conf Or: # grep cron /etc/rsyslog.conf # ls -lL /var/log/cron If the mode is more permissive than 0600, this is a finding.

Fix: F-19917r562490_fix

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

b
The cron log files must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218445 - SV-218445r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003190
Vuln IDs
  • V-218445
  • V-22388
Rule IDs
  • SV-218445r603259_rule
  • SV-64325
Cron logs contain reports of scheduled system activities and must be protected from unauthorized access or manipulation.
Checks: C-19920r562492_chk

Check the permissions of the file. Procedure: Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Check the configured cron log file found in the cron entry in /etc/syslog.conf or /etc/rsyslog.conf(normally /var/log/cron). # grep cron /etc/syslog.conf Or: # grep cron /etc/rsyslog.conf # ls -lL /var/log/cron If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19918r562493_fix

Remove the extended ACL from the file. # setfacl --remove-all /var/log/cron

b
The cron.deny file must have mode 0600 or less permissive.
AC-6 - Medium - CCI-000225 - V-218446 - SV-218446r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003200
Vuln IDs
  • V-218446
  • V-4358
Rule IDs
  • SV-218446r603259_rule
  • SV-64329
If file permissions for cron.deny are more permissive than 0600, sensitive information could be viewed or edited by unauthorized users.
Checks: C-19921r562495_chk

Check the mode of the cron.deny file. # ls -lL /etc/cron.deny If the cron.deny file does not exist this is not a finding. If the cron.deny file exists and the mode is more permissive than 0600, this is a finding.

Fix: F-19919r562496_fix

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

b
The cron.deny file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218447 - SV-218447r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003210
Vuln IDs
  • V-218447
  • V-22389
Rule IDs
  • SV-218447r603259_rule
  • SV-64331
If there are excessive file permissions for the cron.deny file, sensitive information could be viewed or edited by unauthorized users.
Checks: C-19922r562498_chk

Check the permissions of the file. # ls -lL /etc/cron.deny If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19920r562499_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/cron.deny

a
Cron programs must not set the umask to a value less restrictive than 077.
AC-6 - Low - CCI-000225 - V-218448 - SV-218448r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN003220
Vuln IDs
  • V-218448
  • V-4360
Rule IDs
  • SV-218448r603259_rule
  • SV-64337
The umask controls the default access mode assigned to newly created files. A 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.
Checks: C-19923r562501_chk

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 a umask more permissive than 077: Procedure: # ls -lL /var/spool/cron # ls -lL /etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly or # ls -lL /etc/cron.*|grep -v deny # cat &lt;crontab file&gt; # grep umask &lt;cron program&gt; If there are no cron jobs present, this vulnerability is not applicable. If any cron job contains a umask more permissive than 077, this is a finding.

Fix: F-19921r562502_fix

Edit cron script files and modify the umask to 077.

b
The cron.allow file must be owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218449 - SV-218449r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003240
Vuln IDs
  • V-218449
  • V-4361
Rule IDs
  • SV-218449r603259_rule
  • SV-64343
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.
Checks: C-19924r562504_chk

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

Fix: F-19922r562505_fix

# chown root /etc/cron.allow

b
The at.allow file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218450 - SV-218450r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003245
Vuln IDs
  • V-218450
  • V-22390
Rule IDs
  • SV-218450r603259_rule
  • SV-64347
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.
Checks: C-19925r562507_chk

Check the permissions of the file. # ls -lL /etc/at.allow If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19923r562508_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/at.allow

b
The cron.allow file must be group-owned by root, bin, sys, or cron.
AC-6 - Medium - CCI-000225 - V-218451 - SV-218451r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003250
Vuln IDs
  • V-218451
  • V-22391
Rule IDs
  • SV-218451r603259_rule
  • SV-64351
If the group of the cron.allow is not set to root, 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.
Checks: C-19926r562510_chk

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

Fix: F-19924r562511_fix

Change the group ownership of the file. Procedure: # chgrp root /etc/cron.allow

b
The at.deny file must have mode 0600 or less permissive.
AC-6 - Medium - CCI-000225 - V-218452 - SV-218452r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003252
Vuln IDs
  • V-218452
  • V-22392
Rule IDs
  • SV-218452r603259_rule
  • SV-64355
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.
Checks: C-19927r562513_chk

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

Fix: F-19925r562514_fix

Change the mode of the file. # chmod 0600 /etc/at.deny

b
The at.deny file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218453 - SV-218453r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003255
Vuln IDs
  • V-218453
  • V-22393
Rule IDs
  • SV-218453r603259_rule
  • SV-64357
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.
Checks: C-19928r562516_chk

Check the permissions of the file. # ls -lL /etc/at.deny If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19926r562517_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/at.deny

b
The cron.deny file must be owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218454 - SV-218454r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003260
Vuln IDs
  • V-218454
  • V-4430
Rule IDs
  • SV-218454r603259_rule
  • SV-64361
Cron daemon control files restrict the scheduling of automated tasks and must be protected.
Checks: C-19929r562519_chk

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

Fix: F-19927r562520_fix

# chown root /etc/cron.deny

b
The cron.deny file must be group-owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218455 - SV-218455r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003270
Vuln IDs
  • V-218455
  • V-22394
Rule IDs
  • SV-218455r603259_rule
  • SV-64365
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.
Checks: C-19930r562522_chk

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

Fix: F-19928r562523_fix

Change the group ownership of the file. # chgrp root /etc/cron.deny

b
Access to the at utility must be controlled via the at.allow and/or at.deny file(s).
AC-6 - Medium - CCI-000225 - V-218456 - SV-218456r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003280
Vuln IDs
  • V-218456
  • V-984
Rule IDs
  • SV-218456r603259_rule
  • SV-64369
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.
Checks: C-19931r562525_chk

If the "at" package is not installed, this is not applicable. Check for the existence of at.allow and at.deny files. # ls -lL /etc/at.allow # ls -lL /etc/at.deny If neither file exists, this is a finding.

Fix: F-19929r562526_fix

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

b
The at.deny file must not be empty if it exists.
AC-6 - Medium - CCI-000225 - V-218457 - SV-218457r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003300
Vuln IDs
  • V-218457
  • V-985
Rule IDs
  • SV-218457r603259_rule
  • SV-64371
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.
Checks: C-19932r562528_chk

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

Fix: F-19930r562529_fix

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

b
Default system accounts (with the exception of root) must not be listed in the at.allow file or must be included in the at.deny file if the at.allow file does not exist.
AC-6 - Medium - CCI-000225 - V-218458 - SV-218458r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003320
Vuln IDs
  • V-218458
  • V-986
Rule IDs
  • SV-218458r603259_rule
  • SV-64379
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.
Checks: C-19933r562531_chk

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

Fix: F-19931r562532_fix

Remove the default accounts (such as bin, sys, adm, and others, traditionally UID less than 500) from the at.allow file.

b
The at.allow file must have mode 0600 or less permissive.
AC-6 - Medium - CCI-000225 - V-218459 - SV-218459r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003340
Vuln IDs
  • V-218459
  • V-987
Rule IDs
  • SV-218459r603259_rule
  • SV-64453
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.
Checks: C-19934r562534_chk

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

Fix: F-19932r562535_fix

Change the mode of the at.allow file. # chmod 0600 /etc/at.allow

b
The at daemon must not execute group-writable or world-writable programs.
AC-6 - Medium - CCI-000225 - V-218460 - SV-218460r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003360
Vuln IDs
  • V-218460
  • V-988
Rule IDs
  • SV-218460r603259_rule
  • SV-64469
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.
Checks: C-19935r562537_chk

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

Fix: F-19933r562538_fix

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

b
The at daemon must not execute programs in, or subordinate to, world-writable directories.
AC-6 - Medium - CCI-000225 - V-218461 - SV-218461r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003380
Vuln IDs
  • V-218461
  • V-989
Rule IDs
  • SV-218461r603259_rule
  • SV-64475
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.
Checks: C-19936r562540_chk

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

Fix: F-19934r562541_fix

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

b
The at directory must have mode 0755 or less permissive.
AC-6 - Medium - CCI-000225 - V-218462 - SV-218462r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003400
Vuln IDs
  • V-218462
  • V-4364
Rule IDs
  • SV-218462r603259_rule
  • SV-64287
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.
Checks: C-19937r562543_chk

Check the mode of the "at" directory. Procedure: # ls -ld /var/spool/at If the directory mode is more permissive than 0755, this is a finding.

Fix: F-19935r562544_fix

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

b
The at directory must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218463 - SV-218463r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003410
Vuln IDs
  • V-218463
  • V-22395
Rule IDs
  • SV-218463r603259_rule
  • SV-64289
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.
Checks: C-19938r562546_chk

Check the permissions of the directory. # ls -lLd /var/spool/at If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19936r562547_fix

Remove the extended ACL from the directory. # setfacl --remove-all /var/spool/at

b
The at directory must be owned by root, bin, sys, daemon, or cron.
AC-6 - Medium - CCI-000225 - V-218464 - SV-218464r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003420
Vuln IDs
  • V-218464
  • V-4365
Rule IDs
  • SV-218464r603259_rule
  • SV-64299
If the owner of the "at" directory is not root, bin, or sys, unauthorized users could be allowed to view or edit files containing sensitive information within the directory.
Checks: C-19939r562549_chk

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

Fix: F-19937r562550_fix

Change the owner of the "at" directory to root, bin, sys, or system. Procedure: # chown <root or other system account> <"at" directory>

b
The at directory must be group-owned by root, bin, sys, or cron.
AC-6 - Medium - CCI-000225 - V-218465 - SV-218465r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003430
Vuln IDs
  • V-218465
  • V-22396
Rule IDs
  • SV-218465r603259_rule
  • SV-64297
If the group of the "at" directory is not root, bin, sys, or cron, unauthorized users could be allowed to view or edit files containing sensitive information within the directory.
Checks: C-19940r562552_chk

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

Fix: F-19938r562553_fix

Change the group ownership of the file to root, bin, sys, daemon or cron. Procedure: # chgrp <root or other system group> <"at" directory>

b
At jobs must not set the umask to a value less restrictive than 077.
AC-6 - Medium - CCI-000225 - V-218466 - SV-218466r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003440
Vuln IDs
  • V-218466
  • V-4366
Rule IDs
  • SV-218466r603259_rule
  • SV-64409
The umask controls the default access mode assigned to newly created files. A 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.
Checks: C-19941r569131_chk

Determine what "at" jobs exist on the system. Procedure: # ls /var/spool/at 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 &lt;at job or referenced script&gt; If any "at" job or referenced script sets umask to a value more permissive than 077, this is a finding.

Fix: F-19939r569132_fix

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

b
The at.allow file must be owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218467 - SV-218467r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003460
Vuln IDs
  • V-218467
  • V-4367
Rule IDs
  • SV-218467r603259_rule
  • SV-64319
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.
Checks: C-19942r562555_chk

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

Fix: F-19940r562556_fix

Change the owner of the at.allow file. # chown root /etc/at.allow

b
The at.allow file must be group-owned by root, bin, sys, or cron.
AC-6 - Medium - CCI-000225 - V-218468 - SV-218468r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003470
Vuln IDs
  • V-218468
  • V-22397
Rule IDs
  • SV-218468r603259_rule
  • SV-64413
If the group owner of the at.allow file is not set to root, 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.
Checks: C-19943r562558_chk

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

Fix: F-19941r562559_fix

Change the group ownership of the file. Procedure: # chgrp root /etc/at.allow

b
The at.deny file must be owned by root, bin, or sys.
AC-6 - Medium - CCI-000225 - V-218469 - SV-218469r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003480
Vuln IDs
  • V-218469
  • V-4368
Rule IDs
  • SV-218469r603259_rule
  • SV-64417
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.
Checks: C-19944r562561_chk

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

Fix: F-19942r562562_fix

Change the owner of the at.deny file. # chown root /etc/at.deny

b
The at.deny file must be group-owned by root, bin, sys, or cron.
AC-6 - Medium - CCI-000225 - V-218470 - SV-218470r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003490
Vuln IDs
  • V-218470
  • V-22398
Rule IDs
  • SV-218470r603259_rule
  • SV-64309
If the group owner of the at.deny file is not set to root, 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.
Checks: C-19945r562564_chk

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

Fix: F-19943r562565_fix

Change the group ownership of the at.deny file to root, sys, bin, or cron. Procedure: # chgrp root /etc/at.deny

a
Process core dumps must be disabled unless needed.
CM-6 - Low - CCI-000366 - V-218471 - SV-218471r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN003500
Vuln IDs
  • V-218471
  • V-11996
Rule IDs
  • SV-218471r603259_rule
  • SV-64311
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.
Checks: C-19946r562567_chk

# ulimit -Hc If the above command does not return 0 and the enabling of core dumps has not been documented and approved by the ISSO, this a finding.

Fix: F-19944r562568_fix

Edit /etc/security/limits.conf and set a hard limit for "core" to 0 for all users. A new logon will be required for the changes to take effect.

b
Kernel core dumps must be disabled unless needed.
CM-6 - Medium - CCI-000366 - V-218472 - SV-218472r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN003510
Vuln IDs
  • V-218472
  • V-22404
Rule IDs
  • SV-218472r603259_rule
  • SV-64421
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.
Checks: C-19947r562570_chk

Verify the kdump service is not running. Procedure: # service kdump status If "Kdump is operational" is returned, this is a finding.

Fix: F-19945r562571_fix

Disable kdump. # service kdump stop # chkconfig kdump off

a
The kernel core dump data directory must be owned by root.
AC-6 - Low - CCI-000225 - V-218473 - SV-218473r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN003520
Vuln IDs
  • V-218473
  • V-11997
Rule IDs
  • SV-218473r603259_rule
  • SV-64427
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.
Checks: C-19948r562573_chk

Verify the location of the kernel core dump data directory: # grep "path" /etc/kdump.conf Note: If this setting is not configured or commented out, the default kernel dump data directory is /var/crash. Check the ownership of the dump data directory: # ls -ld &lt;path to kernel core dump data directory&gt; If the kernel core dump data directory is not owned by root, this is a finding.

Fix: F-19946r562574_fix

Change the owner of the kernel core dump data directory to root. # chown root <path to kernel core dump data directory>

a
The kernel core dump data directory must be group-owned by root, bin, sys, or system.
AC-6 - Low - CCI-000225 - V-218474 - SV-218474r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN003521
Vuln IDs
  • V-218474
  • V-22405
Rule IDs
  • SV-218474r603259_rule
  • SV-64431
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.
Checks: C-19949r562576_chk

Determine the kernel core dump data directory and check its ownership. Procedure: Examine /etc/kdump.conf. The "path" parameter, which defaults to /var/crash, determines the path relative to the crash dump device. The crash device is specified with a filesystem type and device, such as "ext3 /dev/sda2". Using this information, determine where this path is currently mounted on the system. # ls -ld &lt;kernel dump data directory&gt; If the directory is not group-owned by root, bin, sys, or system, this is a finding.

Fix: F-19947r562577_fix

Change the group-owner of the kernel core dump data directory. # chgrp root <kernel core dump data directory>

a
The kernel core dump data directory must have mode 0700 or less permissive.
AC-6 - Low - CCI-000225 - V-218475 - SV-218475r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN003522
Vuln IDs
  • V-218475
  • V-22406
Rule IDs
  • SV-218475r603259_rule
  • SV-64433
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.
Checks: C-19950r562579_chk

Verify the location of the kernel core dump data directory: # grep "path" /etc/kdump.conf Note: If this setting is not configured or commented out, the default kernel dump data directory is /var/crash. Check the permissions of the dump data directory: # ls -ld &lt;path to kernel core dump data directory&gt; If the directory has a mode more permissive than 0700, this is a finding.

Fix: F-19948r562580_fix

Set the permissions on the kernel core dump data directory to 0700. # chmod 0700 <kernel core dump data directory>

a
The kernel core dump data directory must not have an extended ACL.
AC-6 - Low - CCI-000225 - V-218476 - SV-218476r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN003523
Vuln IDs
  • V-218476
  • V-22407
Rule IDs
  • SV-218476r603259_rule
  • SV-64437
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.
Checks: C-19951r562582_chk

Determine the kernel core dump data directory and check its permissions. Procedure: Verify the location of the kernel core dump data directory: # grep "path" /etc/kdump.conf Note: If this setting is not configured or commented out, the default kernel dump data directory is /var/crash. Check the permissions of the dump data directory: # ls -ld &lt;path to kernel core dump data directory&gt; If the permissions include a '+', the directory has an extended ACL. If the directory has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19949r562583_fix

Remove the extended ACL from the directory. # setfacl --remove-all <path to kernel core dump data directory>

b
The system must implement non-executable program stacks.
CM-6 - Medium - CCI-000366 - V-218477 - SV-218477r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN003540
Vuln IDs
  • V-218477
  • V-11999
Rule IDs
  • SV-218477r603259_rule
  • SV-64439
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.
Checks: C-19952r562585_chk

If the system being evaluated is running a Red Hat compatible operating system kernel, check that the "kernel.exec-shield" kernel parameter is set to "1" in /etc/sysctl.conf. If the system is running an Oracle Unbreakable Enterprise kernel, verify that Oracle's Data Execution Prevention is enabled. First, determine if the system is operating an Oracle Unbreakable Enterprise Kernel (UEK): # uname -r | grep uek If no value is returned, the system is running a Red Hat compatible kernel. Verify the "kernel.exec-shield" kernel parameter is set to "1" in /etc/sysctl.conf: # grep ^kernel\.exec-shield /etc/sysctl.conf | awk -F= '{ print $2 }' kernel.exec-shield = 1 If there is no value returned or if a value is returned that is not "2", this is a finding. If the system was found to be running an Unbreakable Enterprise Kernel, verify DEP is enabled: # dmesg | grep 'NX.*protection: If there is no value returned or if a value is returned that is not "NX (Execute Disable) protection: active", this is a finding. Note that this is not a finding when the underlying processor architecture does not support the "Execute Disable" (NX) capability. To determine if the processor supports this capability, run the command: # cat /proc/cpuinfo | grep flags | xargs -n 1 echo | grep -w "nx" | sort -u If a system's underlying processor supports this functionality, a single entry containing the keyword "nx" will be returned.

Fix: F-19950r562586_fix

If the system being evaluated is running a Red Hat compatible operating system kernel, then ensure that the "kernel.exec-shield" kernel parameter is set to "1". If the system is running an Oracle Unbreakable Enterprise Kernel, this parameter does not exist. When an Unbreakable Enterprise Kernel is booted, Oracle's Data Execution Prevention (DEP) feature will leverage the hardware-enforced NX (never execute) bit of compatible CPUs to protect against code being executed from the stack. By default, DEP is enabled. If DEP is not enabled, ensure the string "noexec=off" does not appear in /boot/grub/grub.conf. First, determine if the system is operating an Oracle Unbreakable Enterprise Kernel (UEK): # uname -r | grep uek If no value is returned, the system is running a Red Hat compatible kernel. Edit (or add if necessary) the entry in /etc/sysctl.conf for the "kernel.exec-shield" kernel parameter. Ensure this parameter is set to "1" as in: kernel.exec-shield = 1 If this was not already the default, reboot the system for the change to take effect. If the system was found to be running an Unbreakable Enterprise Kernel, then ensure the string "noexec=off" is not found in /boot/grub/grub.conf: # grep noexec=off /boot/grub/grub.conf If found, remove the offending entry and reboot the system for the change to take effect.

b
Network interfaces must not be configured to allow user control.
AC-6 - Medium - CCI-000225 - V-218478 - SV-218478r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003581
Vuln IDs
  • V-218478
  • V-22408
Rule IDs
  • SV-218478r603259_rule
  • SV-64443
Configuration of network interfaces should be limited to privileged users. Manipulation of network interfaces may result in a Denial of Service or bypass of network security mechanisms.
Checks: C-19953r562588_chk

Check the system for user-controlled network interfaces. # grep -l '^USERCTL=yes' /etc/sysconfig/network-scripts/ifcfg* If any results are returned, this is a finding.

Fix: F-19951r562589_fix

Edit the configuration for the user-controlled interface and remove the "USERCTL=yes" configuration line or set to "USERCTL=no".

b
The system must not forward IPv4 source-routed packets.
AC-4 - Medium - CCI-001551 - V-218479 - SV-218479r603259_rule
RMF Control
AC-4
Severity
Medium
CCI
CCI-001551
Version
GEN003600
Vuln IDs
  • V-218479
  • V-12002
Rule IDs
  • SV-218479r603259_rule
  • SV-64451
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.
Checks: C-19954r562591_chk

Verify the system does not accept source-routed IPv4 packets. Procedure: # grep [01] /proc/sys/net/ipv4/conf/*/accept_source_route|egrep "default|all" If all of the returned lines do not end with 0, this is a finding. Note: The same setting is used by Linux for both the local acceptance and forwarding of source-routed IPv4 packets.

Fix: F-19952r562592_fix

Configure the system to not accept source-routed IPv4 packets. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.accept_source_route=0" and "net.ipv4.conf.default.accept_source_route=0". Reload the sysctls. Procedure: # sysctl -p

b
TCP backlog queue sizes must be set appropriately.
CM-6 - Medium - CCI-000366 - V-218480 - SV-218480r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN003601
Vuln IDs
  • V-218480
  • V-23741
Rule IDs
  • SV-218480r603259_rule
  • SV-64457
To provide some mitigation to TCP Denial of Service attacks, the TCP backlog queue sizes must be set to at least 1280 or in accordance with product-specific guidelines.
Checks: C-19955r555638_chk

# cat /proc/sys/net/ipv4/tcp_max_syn_backlog If the result is not 1280 or greater, this is a finding.

Fix: F-19953r555639_fix

Edit /etc/sysctl.conf and add a setting for "net.ipv4.tcp_max_syn_backlog=1280". Procedure: # sysctl -p

a
The system must not process Internet Control Message Protocol (ICMP) timestamp requests.
CM-7 - Low - CCI-000382 - V-218481 - SV-218481r603259_rule
RMF Control
CM-7
Severity
Low
CCI
CCI-000382
Version
GEN003602
Vuln IDs
  • V-218481
  • V-22409
Rule IDs
  • SV-218481r603259_rule
  • SV-64445
The processing of (ICMP) timestamp requests increases the attack surface of the system.
Checks: C-19956r555641_chk

Verify the system does not respond to ICMP TIMESTAMP-REQUESTs Procedure: # grep "timestamp" /etc/sysconfig/iptables This should return entries for "timestamp-reply" and "timestamp-request". Both should end with "-j DROP'. If either does not exist or does not "DROP" the message, this is a finding.

Fix: F-19954r555642_fix

Configure the system to not respond to ICMP TIMESTAMP-REQUESTs. This is done by rejecting ICMP type 13 and 14 messages at the firewall. Procedure: Edit /etc/sysconfig/iptables to add: -A RH-Firewall-1-INPUT -p ICMP --icmp-type timestamp-request -j DROP -A RH-Firewall-1-INPUT -p ICMP --icmp-type timestamp-reply -j DROP Restart the firewall: # service iptables restart

b
The system must not respond to Internet Control Message Protocol v4 (ICMPv4) echoes sent to a broadcast address.
CM-6 - Medium - CCI-001503 - V-218482 - SV-218482r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-001503
Version
GEN003603
Vuln IDs
  • V-218482
  • V-22410
Rule IDs
  • SV-218482r603259_rule
  • SV-64459
Responding to broadcast (ICMP) echoes facilitates network mapping and provides a vector for amplification attacks.
Checks: C-19957r555644_chk

Verify the system does not respond to ICMP ECHO_REQUESTs set to broadcast addresses. Procedure: # cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts If the result is not 1, this is a finding.

Fix: F-19955r555645_fix

Configure the system to not respond to ICMP ECHO_REQUESTs sent to broadcast addresses. Edit /etc/sysctl.conf and add a setting for "net.ipv4.icmp_echo_ignore_broadcasts=1" and reload the sysctls. Procedure: # echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf # sysctl -p

b
The system must not respond to Internet Control Message Protocol (ICMP) timestamp requests sent to a broadcast address.
CM-6 - Medium - CCI-001503 - V-218483 - SV-218483r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-001503
Version
GEN003604
Vuln IDs
  • V-218483
  • V-22411
Rule IDs
  • SV-218483r603259_rule
  • SV-64195
The processing of (ICMP) timestamp requests increases the attack surface of the system. Responding to broadcast ICMP timestamp requests facilitates network mapping and provides a vector for amplification attacks.
Checks: C-19958r555647_chk

Verify the system does not respond to ICMP TIMESTAMP_REQUESTs set to broadcast addresses. Procedure: # cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts If the result is not 1, this is a finding. Note: The same parameter controls both ICMP ECHO_REQUESTs and TIMESTAMP_REQUESTs.

Fix: F-19956r555648_fix

Configure the system to not respond to ICMP TIMESTAMP_REQUESTs sent to broadcast addresses. Edit /etc/sysctl.conf and add a setting for "net.ipv4.icmp_echo_ignore_broadcasts=1" and reload the sysctls. Procedure: # echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf # sysctl -p

b
The system must not accept source-routed IPv4 packets.
AC-4 - Medium - CCI-001551 - V-218484 - SV-218484r603259_rule
RMF Control
AC-4
Severity
Medium
CCI
CCI-001551
Version
GEN003607
Vuln IDs
  • V-218484
  • V-22414
Rule IDs
  • SV-218484r603259_rule
  • SV-64197
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 system, such as when IPv4 forwarding is enabled and the system is functioning as a router.
Checks: C-19959r562594_chk

Verify the system does not accept source-routed IPv4 packets. Procedure: # grep [01] /proc/sys/net/ipv4/conf/*/accept_source_route|egrep "default|all" If all of the resulting lines do not end with "0", this is a finding.

Fix: F-19957r562595_fix

Configure the system to not accept source-routed IPv4 packets. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.accept_source_route=0" and "net.ipv4.conf.default.accept_source_route=0". Reload the sysctls. Procedure: # sysctl -p

b
Proxy Address Resolution Protocol (Proxy ARP) must not be enabled on the system.
CM-7 - Medium - CCI-000381 - V-218485 - SV-218485r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN003608
Vuln IDs
  • V-218485
  • V-22415
Rule IDs
  • SV-218485r603259_rule
  • SV-64201
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.
Checks: C-19960r562597_chk

Verify the system does not use proxy ARP. # grep [01] /proc/sys/net/ipv4/conf/*/proxy_arp|egrep "default|all" If all of the resulting lines do not end with "0", this is a finding.

Fix: F-19958r562598_fix

Configure the system to not use proxy ARP. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.proxy_arp=0" and "net.ipv4.conf.default.proxy_arp=0". # sysctl -p

b
The system must ignore IPv4 Internet Control Message Protocol (ICMP) redirect messages.
CM-7 - Medium - CCI-000382 - V-218486 - SV-218486r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
GEN003609
Vuln IDs
  • V-218486
  • V-22416
Rule IDs
  • SV-218486r603259_rule
  • SV-64203
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.
Checks: C-19961r562600_chk

Verify the system does not accept IPv4 ICMP redirect messages. # grep [01] /proc/sys/net/ipv4/conf/*/accept_redirects|egrep "default|all" If all of the resulting lines do not end with "0", this is a finding.

Fix: F-19959r562601_fix

Configure the system to not accept IPv4 ICMP redirect messages. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.accept_redirects=0" and "net.ipv4.conf.default.accept_redirects=0". # sysctl -p

b
The system must not send IPv4 Internet Control Message Protocol (ICMP) redirects.
CM-7 - Medium - CCI-000382 - V-218487 - SV-218487r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
GEN003610
Vuln IDs
  • V-218487
  • V-22417
Rule IDs
  • SV-218487r603259_rule
  • SV-64205
ICMP redirect messages are used by routers to inform hosts that a more direct route exists for a particular destination. These messages contain information from the system's route table possibly revealing portions of the network topology.
Checks: C-19962r555659_chk

Verify the system does not send IPv4 ICMP redirect messages. # grep [01] /proc/sys/net/ipv4/conf/*/send_redirects|egrep "default|all" If all of the resulting lines do not end with "0", this is a finding.

Fix: F-19960r555660_fix

Configure the system to not send IPv4 ICMP redirect messages. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.send_redirects=0" and "net.ipv4.conf.default.send_redirects=0". # sysctl -p

a
The system must log martian packets.
CM-6 - Low - CCI-000366 - V-218488 - SV-218488r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN003611
Vuln IDs
  • V-218488
  • V-22418
Rule IDs
  • SV-218488r603259_rule
  • SV-64207
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.
Checks: C-19963r555662_chk

Verify the system logs martian packets. # grep [01] /proc/sys/net/ipv4/conf/*/log_martians|egrep "default|all" If all of the resulting lines do not end with "1", this is a finding.

Fix: F-19961r555663_fix

Configure the system to log martian packets. Edit /etc/sysctl.conf and add a setting for "net.ipv4.conf.all.log_martians=1" and "net.ipv4.conf.default.log_martians=1". Reload the sysctls. Procedure: # sysctl -p

b
The system must be configured to use TCP syncookies when experiencing a TCP SYN flood.
SC-5 - Medium - CCI-001092 - V-218489 - SV-218489r603259_rule
RMF Control
SC-5
Severity
Medium
CCI
CCI-001092
Version
GEN003612
Vuln IDs
  • V-218489
  • V-22419
Rule IDs
  • SV-218489r603259_rule
  • SV-64209
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 only track a connection when 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.
Checks: C-19964r562603_chk

Verify the system configured to use TCP syncookies when experiencing a TCP SYN flood. # cat /proc/sys/net/ipv4/tcp_syncookies If the result is not "1", this is a finding.

Fix: F-19962r562604_fix

Configure the system to use TCP syncookies when experiencing a TCP SYN flood. Edit /etc/sysctl.conf and add a setting for "net.ipv4.tcp_syncookies=1". # sysctl -p

b
The system must not be configured for network bridging.
CM-7 - Medium - CCI-000381 - V-218490 - SV-218490r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN003619
Vuln IDs
  • V-218490
  • V-22421
Rule IDs
  • SV-218490r603259_rule
  • SV-64213
Some systems have the ability to bridge or switch frames (link-layer forwarding) between multiple interfaces. This can be useful in a variety of situations but, if enabled when not needed, has the potential to bypass network partitioning and security.
Checks: C-19965r562606_chk

Verify the system is not configured for bridging. # ls /proc/sys/net/bridge If the directory exists, this is a finding. # lsmod | grep '^bridge ' If any results are returned, this is a finding. Fix Text: Configure the system to not use bridging.

Fix: F-19963r562607_fix

Configure the system to not use bridging. # rmmod bridge Edit /etc/modprobe.conf and add a line such as "install bridge /bin/false" to prevent the loading of the bridge module.

a
A separate file system must be used for user home directories (such as /home or an equivalent).
CM-6 - Low - CCI-000366 - V-218491 - SV-218491r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN003620
Vuln IDs
  • V-218491
  • V-12003
Rule IDs
  • SV-218491r603259_rule
  • SV-64215
The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.
Checks: C-19966r562609_chk

Determine if the /home path is a separate filesystem. # grep "/home " /etc/fstab If no result is returned, /home is not on a separate filesystem this is a finding.

Fix: F-19964r562610_fix

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

a
The system must use a separate file system for /var.
CM-6 - Low - CCI-000366 - V-218492 - SV-218492r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN003621
Vuln IDs
  • V-218492
  • V-23736
Rule IDs
  • SV-218492r603259_rule
  • SV-64217
The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.
Checks: C-19967r562612_chk

Determine if the /var path is a separate filesystem. # grep /var /etc/fstab If no result is returned, /var is not on a separate filesystem this is a finding.

Fix: F-19965r562613_fix

Migrate the /var path onto a separate file system.

a
The system must use a separate file system for the system audit data path.
CM-6 - Low - CCI-000366 - V-218493 - SV-218493r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN003623
Vuln IDs
  • V-218493
  • V-23738
Rule IDs
  • SV-218493r603259_rule
  • SV-64219
The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.
Checks: C-19968r562615_chk

Determine if the /var/log/audit path is a separate filesystem. # grep /var/log/audit /etc/fstab If no result is returned, /var/log/audit is not on a separate filesystem this is a finding.

Fix: F-19966r562616_fix

Migrate the /var/log/audit path onto a separate filesystem.

a
The system must use a separate file system for /tmp (or equivalent).
CM-6 - Low - CCI-000366 - V-218494 - SV-218494r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN003624
Vuln IDs
  • V-218494
  • V-23739
Rule IDs
  • SV-218494r603259_rule
  • SV-64221
The use of separate file systems for different paths can protect the system from failures resulting from a file system becoming full or failing.
Checks: C-19969r562618_chk

Determine if the /tmp path is a separate filesystem. # egrep "[\t ]/tmp[\t ]" /etc/fstab If no result is returned, /tmp is not on a separate filesystem this is a finding.

Fix: F-19967r562619_fix

Migrate the /tmp path onto a separate file system.

b
The root file system must employ journaling or another mechanism ensuring file system consistency.
CM-6 - Medium - CCI-000366 - V-218495 - SV-218495r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN003640
Vuln IDs
  • V-218495
  • V-4304
Rule IDs
  • SV-218495r603259_rule
  • SV-64225
File system journaling, or logging, can allow reconstruction of file system data after a system crash, 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 also satisfying this requirement.
Checks: C-19970r562621_chk

Logging should be enabled for those types of file systems not turning on logging by default. Procedure: # mount JFS, VXFS, HFS, XFS, reiserfs, EXT3 and EXT4 all turn logging on by default and will not be a finding. The ZFS file system uses other mechanisms to provide for file system consistency, and will not be a finding. For other file systems types, if the root file system does not support journaling this is a finding. If the 'nolog' option is set on the root file system that does support journaling, this is a finding.

Fix: F-19968r562622_fix

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

a
All local file systems must employ journaling or another mechanism ensuring file system consistency.
CM-6 - Low - CCI-000366 - V-218496 - SV-218496r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN003650
Vuln IDs
  • V-218496
  • V-22422
Rule IDs
  • SV-218496r603259_rule
  • SV-64227
File system journaling, or logging, can allow reconstruction of file system data after a system crash 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 also satisfying this requirement.
Checks: C-19971r562624_chk

Verify local filesystems use journaling. # mount | grep '^/dev/' | egrep -v 'type (ext3|ext4|jfs|reiserfs|xfs|iso9660|udf)' If a mount is listed, this is a finding.

Fix: F-19969r562625_fix

Convert local file systems to use journaling or another mechanism ensuring file system consistency.

b
The system must log informational authentication data.
CM-6 - Medium - CCI-000366 - V-218497 - SV-218497r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN003660
Vuln IDs
  • V-218497
  • V-12004
Rule IDs
  • SV-218497r603259_rule
  • SV-64229
Monitoring and recording successful and unsuccessful logins assists in tracking unauthorized access to the system.
Checks: C-19972r555689_chk

Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Check /etc/syslog.conf or /etc/rsyslog.conf and verify the authpriv facility is logging both the "notice" and "info" priority messages. Procedure: For a given action all messages of a higher severity or "priority" are logged. The three lowest priorities in ascending order are "debug", "info" and "notice". A priority of "info" will include "notice". A priority of "debug" includes both "info" and "notice". Enter/Input for syslog: # grep "authpriv.debug" /etc/syslog.conf # grep "authpriv.info" /etc/syslog.conf # grep "authpriv\.\*" /etc/syslog.conf Enter/Input for rsyslog: # grep "authpriv.debug" /etc/rsyslog.conf # grep "authpriv.info" /etc/rsyslog.conf # grep "authpriv\.\*" /etc/rsyslog.conf If an "authpriv.*", "authpriv.debug", or "authpriv.info" entry is not found, this is a finding.

Fix: F-19970r555690_fix

Edit /etc/syslog.conf or /etc/rsyslog.conf and add local log destinations for "authpriv.*", "authpriv.debug" or "authpriv.info".

b
Inetd and xinetd must be disabled or removed if no network services utilizing them are enabled.
CM-2 - Medium - CCI-000305 - V-218498 - SV-218498r603259_rule
RMF Control
CM-2
Severity
Medium
CCI
CCI-000305
Version
GEN003700
Vuln IDs
  • V-218498
  • V-12005
Rule IDs
  • SV-218498r603259_rule
  • SV-64231
Unnecessary services should be disabled to decrease the attack surface of the system.
Checks: C-19973r562627_chk

# ps -ef |grep xinetd If xinetd is not running, this check is not a finding. # grep -v "^#" /etc/xinetd.conf # grep disable /etc/xinetd.d/* |grep no If no active services are found, and the inetd daemon is running, this is a finding.

Fix: F-19971r562628_fix

# service xinetd stop ; chkconfig xinetd off

b
The inetd.conf file, xinetd.conf file, and the xinetd.d directory must be owned by root or bin.
AC-6 - Medium - CCI-000225 - V-218499 - SV-218499r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003720
Vuln IDs
  • V-218499
  • V-821
Rule IDs
  • SV-218499r603259_rule
  • SV-64233
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 possibly weakening the system's security posture.
Checks: C-19974r562630_chk

Check the owner of the xinetd configuration files. Procedure: # ls -lL /etc/xinetd.conf # ls -laL /etc/xinetd.d This is a finding if any of the above files or directories are not owned by root or bin.

Fix: F-19972r562631_fix

Change the owner of the xinetd configuration files. # chown root /etc/xinetd.conf /etc/xinetd.d/*

b
The inetd.conf file, xinetd.conf file, and the xinetd.d directory must be group-owned by root, bin, sys, or system.
AC-6 - Medium - CCI-000225 - V-218500 - SV-218500r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003730
Vuln IDs
  • V-218500
  • V-22423
Rule IDs
  • SV-218500r603259_rule
  • SV-64235
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 possibly weakening the system's security posture.
Checks: C-19975r562633_chk

Check the group ownership of the xinetd configuration files and directories. Procedure: # ls -alL /etc/xinetd.conf /etc/xinetd.d If a file or directory is not group-owned by root, bin, sys, or system, this is a finding.

Fix: F-19973r562634_fix

Change the group-owner of the xinetd configuration files and directories. Procedure: # chgrp -R root /etc/xinetd.conf /etc/xinetd.d

b
The xinetd configuration files must have mode 0640 or less permissive.
AC-6 - Medium - CCI-000225 - V-218501 - SV-218501r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003740
Vuln IDs
  • V-218501
  • V-822
Rule IDs
  • SV-218501r603259_rule
  • SV-64239
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.
Checks: C-19976r562636_chk

Check the mode of the xinetd configuration files. Procedure: # ls -lL /etc/xinetd.conf # ls -lL /etc/xinetd.d If the mode of the file(s) is more permissive than 0640, this is a finding.

Fix: F-19974r562637_fix

Change the mode of the xinetd configuration files. # chmod 0640 /etc/xinetd.conf /etc/xinetd.d/*

b
The inetd.conf and xinetd.conf files must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218502 - SV-218502r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003745
Vuln IDs
  • V-218502
  • V-22424
Rule IDs
  • SV-218502r603259_rule
  • SV-64241
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.
Checks: C-19977r562639_chk

Check the permissions of the xinetd configuration files. Procedure: # ls -alL /etc/xinetd.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19975r562640_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/xinetd.conf

b
The xinetd.d directory must have mode 0755 or less permissive.
AC-6 - Medium - CCI-000225 - V-218503 - SV-218503r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003750
Vuln IDs
  • V-218503
  • V-22425
Rule IDs
  • SV-218503r603259_rule
  • SV-64243
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.
Checks: C-19978r562642_chk

Check the permissions of the xinetd configuration directories. # ls -dlL /etc/xinetd.d If the mode of the directory is more permissive than 0755, this is a finding.

Fix: F-19976r562643_fix

Change the mode of the directory. # chmod 0755 /etc/xinetd.d

b
The xinetd.d directory must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218504 - SV-218504r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003755
Vuln IDs
  • V-218504
  • V-22426
Rule IDs
  • SV-218504r603259_rule
  • SV-63971
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.
Checks: C-19979r562645_chk

Check the permissions of the xinetd configuration files and directories. # ls -alL /etc/xinetd.conf /etc/xinetd.d If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19977r562646_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/xinetd.d

b
The services file must be owned by root or bin.
AC-6 - Medium - CCI-000225 - V-218505 - SV-218505r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003760
Vuln IDs
  • V-218505
  • V-823
Rule IDs
  • SV-218505r603259_rule
  • SV-63977
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 possibly weakening the system's security posture.
Checks: C-19980r562648_chk

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: F-19978r562649_fix

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

b
The services file must be group-owned by root or bin.
AC-6 - Medium - CCI-000225 - V-218506 - SV-218506r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003770
Vuln IDs
  • V-218506
  • V-22427
Rule IDs
  • SV-218506r603259_rule
  • SV-63979
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 possibly weakening the system's security posture.
Checks: C-19981r562651_chk

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

Fix: F-19979r562652_fix

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

b
The services file must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218507 - SV-218507r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003780
Vuln IDs
  • V-218507
  • V-824
Rule IDs
  • SV-218507r603259_rule
  • SV-63983
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.
Checks: C-19982r562654_chk

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

Fix: F-19980r562655_fix

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

b
The services file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218508 - SV-218508r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003790
Vuln IDs
  • V-218508
  • V-22428
Rule IDs
  • SV-218508r603259_rule
  • SV-63985
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.
Checks: C-19983r562657_chk

Check the permissions of the /etc/services file. # ls -lL /etc/services If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19981r562658_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/services

a
Inetd or xinetd logging/tracing must be enabled.
AU-3 - Low - CCI-000134 - V-218509 - SV-218509r603259_rule
RMF Control
AU-3
Severity
Low
CCI
CCI-000134
Version
GEN003800
Vuln IDs
  • V-218509
  • V-1011
Rule IDs
  • SV-218509r603259_rule
  • SV-63989
Inetd or xinetd logging and tracing allows the system administrators to observe the IP addresses connecting to their machines and what network services are being sought. This provides valuable information when trying to find the source of malicious users and potential malicious users.
Checks: C-19984r562660_chk

The /etc/xinetd.conf file and each file in the /etc/xinetd.d directory file should be examined for the following: Procedure: log_type = SYSLOG authpriv log_on_success = HOST PID USERID EXIT log_on_failure = HOST USERID If xinetd is running and logging is not enabled, this is a finding.

Fix: F-19982r562661_fix

Edit each file in the /etc/xinetd.d directory and the /etc/xinetd.conf file to contain: log_type = SYSLOG authpriv log_on_success = HOST PID USERID EXIT log_on_failure = HOST USERID The /etc/xinetd.conf file contains default values that will hold true for all services unless individually modified in the service's xinetd.d file. To make the new settings effective, restart the xinetd service: # service xinetd restart

b
The portmap or rpcbind service must not be running unless needed.
CM-6 - Medium - CCI-000366 - V-218510 - SV-218510r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN003810
Vuln IDs
  • V-218510
  • V-22429
Rule IDs
  • SV-218510r603259_rule
  • SV-63995
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).
Checks: C-19985r555728_chk

Check the status of the portmap service. # service portmap status If the service is running, this is a finding.

Fix: F-19983r555729_fix

Shutdown and disable the portmap service. # service portmap stop; chkconfig portmap off

b
The portmap or rpcbind service must not be installed unless needed.
CM-2 - Medium - CCI-000305 - V-218511 - SV-218511r603259_rule
RMF Control
CM-2
Severity
Medium
CCI
CCI-000305
Version
GEN003815
Vuln IDs
  • V-218511
  • V-22430
Rule IDs
  • SV-218511r603259_rule
  • SV-63997
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).
Checks: C-19986r562663_chk

Check if the portmap package is installed. # rpm -qa | grep portmap If a package is found, this is a finding.

Fix: F-19984r562664_fix

Remove the portmap package. # rpm -e portmap or # yum remove portmap

c
The rsh daemon must not be running.
AC-17 - High - CCI-000068 - V-218512 - SV-218512r603259_rule
RMF Control
AC-17
Severity
High
CCI
CCI-000068
Version
GEN003820
Vuln IDs
  • V-218512
  • V-4687
Rule IDs
  • SV-218512r603259_rule
  • SV-64011
The rshd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.
Checks: C-19987r555734_chk

Check to see if rshd is configured to run on startup. Procedure: # grep disable /etc/xinetd.d/rsh If /etc/xinetd.d/rsh exists and rsh is found to be enabled, this is a finding.

Fix: F-19985r555735_fix

Edit /etc/xinetd.d/rsh and set "disable=yes".

b
The rshd service must not be installed.
CM-2 - Medium - CCI-000305 - V-218513 - SV-218513r603259_rule
RMF Control
CM-2
Severity
Medium
CCI
CCI-000305
Version
GEN003825
Vuln IDs
  • V-218513
  • V-22431
Rule IDs
  • SV-218513r603259_rule
  • SV-64009
The rshd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.
Checks: C-19988r562666_chk

Check if the rsh-server package is installed. Procedure: # rpm -qa | grep rsh-server If a package is found, this is a finding.

Fix: F-19986r562667_fix

Remove the rsh-server package. Procedure: # rpm -e rsh-server

b
The rlogind service must not be running.
AC-17 - Medium - CCI-000068 - V-218514 - SV-218514r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000068
Version
GEN003830
Vuln IDs
  • V-218514
  • V-22432
Rule IDs
  • SV-218514r603259_rule
  • SV-64019
The rlogind process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.
Checks: C-19989r555740_chk

Check the rlogind configuration. # cat /etc/xinetd.d/rlogin If the file exists and does not contain "disable = yes" this is a finding.

Fix: F-19987r555741_fix

Remove or disable the rlogin configuration and restart xinetd. # rm /etc/xinetd.d/rlogin ; service xinetd restart

b
The rlogind service must not be installed.
CM-2 - Medium - CCI-000305 - V-218515 - SV-218515r603259_rule
RMF Control
CM-2
Severity
Medium
CCI
CCI-000305
Version
GEN003835
Vuln IDs
  • V-218515
  • V-22433
Rule IDs
  • SV-218515r603259_rule
  • SV-64015
The rlogind process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.
Checks: C-19990r562669_chk

Check if the rsh-server package is installed. Procedure: # rpm -qa | grep rsh-server If a package is found, this is a finding.

Fix: F-19988r562670_fix

Remove the rsh-server package. Procedure: # rpm -e rsh-server

c
The rexec daemon must not be running.
CM-7 - High - CCI-000381 - V-218516 - SV-218516r603259_rule
RMF Control
CM-7
Severity
High
CCI
CCI-000381
Version
GEN003840
Vuln IDs
  • V-218516
  • V-4688
Rule IDs
  • SV-218516r603259_rule
  • SV-64037
The rexecd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.
Checks: C-19991r562672_chk

# grep disable /etc/xinetd.d/rexec If the service file exists and is not disabled, this is a finding.

Fix: F-19989r562673_fix

Edit /etc/xinetd.d/rexec and set "disable=yes"

b
The rexecd service must not be installed.
CM-2 - Medium - CCI-000305 - V-218517 - SV-218517r603259_rule
RMF Control
CM-2
Severity
Medium
CCI
CCI-000305
Version
GEN003845
Vuln IDs
  • V-218517
  • V-22434
Rule IDs
  • SV-218517r603259_rule
  • SV-64039
The rexecd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service.
Checks: C-19992r562675_chk

Check if the rsh-server package is installed. Procedure: # rpm -qa | grep rsh-server If a package is found, this is a finding.

Fix: F-19990r562676_fix

Remove the rsh-server package. Procedure: # rpm -e rsh-server

c
The telnet daemon must not be running.
IA-5 - High - CCI-000197 - V-218518 - SV-218518r603259_rule
RMF Control
IA-5
Severity
High
CCI
CCI-000197
Version
GEN003850
Vuln IDs
  • V-218518
  • V-24386
Rule IDs
  • SV-218518r603259_rule
  • SV-64021
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.
Checks: C-19993r562678_chk

The telnet service included in the operating system is a part of krb5-workstation. There are two versions of telnetd server provided. The xinetd.d file ekrb5-telnet allows only connections authenticated through Kerberos. The xinetd.d krb5-telnet allows normal telnet connections as well as kerberized connections. Both are set to "disable = yes" by default. Ensure that neither is running. Procedure: Check if telnetd is running: # ps -ef |grep telnetd If the telnet daemon is running, this is a finding. Check if telnetd is enabled on startup: # chkconfig --list|grep telnet If an entry with "on" is found, this is a finding.

Fix: F-19991r562679_fix

Identify the telnet service running and disable it. Procedure: Disable the telnet server. # chkconfig telnet off Verify the telnet daemon is no longer running. # ps -ef |grep telnet

a
The system must not have the finger service active.
CM-7 - Low - CCI-000381 - V-218519 - SV-218519r603259_rule
RMF Control
CM-7
Severity
Low
CCI
CCI-000381
Version
GEN003860
Vuln IDs
  • V-218519
  • V-4701
Rule IDs
  • SV-218519r603259_rule
  • SV-64051
The finger service provides information about the system's users to network clients. This information could expose more information for potential used in subsequent attacks.
Checks: C-19994r562681_chk

# grep disable /etc/xinetd.d/finger If the finger service is not disabled, this is a finding.

Fix: F-19992r562682_fix

Edit /etc/xinetd.d/finger and set "disable=yes"

b
Network analysis tools must not be installed.
CM-2 - Medium - CCI-000305 - V-218520 - SV-218520r603259_rule
RMF Control
CM-2
Severity
Medium
CCI
CCI-000305
Version
GEN003865
Vuln IDs
  • V-218520
  • V-12049
Rule IDs
  • SV-218520r603259_rule
  • SV-64029
Network analysis tools allow for the capture of network traffic visible to the system. If the system is being used as a network analysis/troubleshooting system then these tools are allowed if documented.
Checks: C-19995r562684_chk

Determine if any network analysis tools are installed. Procedure: # find / -name ethereal # find / -name wireshark # find / -name tshark # find / -name nc # find / -name tcpdump # find / -name snoop If any network analysis tools are found, this is a finding.

Fix: F-19993r562685_fix

Remove each network analysis tool binary from the system. Remove package items with a package manager, others remove the binary directly. Procedure: Find the binary file: # find / -name <Item to be removed> Find the package, if any, to which it belongs: # rpm -qf <binary file> Remove the package if it does not also include other software: # rpm -e <package name> or # yum remove <package name> If the item to be removed is not in a package, or the entire package cannot be removed because of other software it provides, remove the item's binary file. # rm <binary file>

b
The hosts.lpd file (or equivalent) must not contain a + character.
CM-6 - Medium - CCI-000366 - V-218521 - SV-218521r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN003900
Vuln IDs
  • V-218521
  • V-827
Rule IDs
  • SV-218521r603259_rule
  • SV-64115
Having the '+' character in the hosts.lpd (or equivalent) file allows all hosts to use local system print resources.
Checks: C-19996r555761_chk

The operating system uses the CUPS print service. Verify remote host access is limited. Procedure: # grep -i Listen /etc/cups/cupsd.conf The /etc/cups/cupsd.conf file must not contain a Listen *:&lt;port&gt; or equivalent line. If the network address of the "Listen" line is unrestricted, this is a finding. # grep -i "Allow From" /etc/cups/cupsd.conf The "Allow From" line within the "&lt;Location /&gt;" element should limit access to the printers to @LOCAL and specific hosts. If the "Allow From" line contains "All" this is a finding.

Fix: F-19994r555762_fix

Configure cups to use only the localhost or specified remote hosts. Procedure: Modify the /etc/cups/cupsd.conf file to "Listen" only to the local machine or a known set of hosts (i.e., Listen localhost:631). Modify the /etc/cups/cupsd.conf file "<Location />" element to "Deny From All" and "Allow from 127.0.0.1" or allowed host addresses. Restart cups: # service cups restart

b
The hosts.lpd (or equivalent) file must be owned by root, bin, sys, or lp.
AC-6 - Medium - CCI-000225 - V-218522 - SV-218522r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003920
Vuln IDs
  • V-218522
  • V-828
Rule IDs
  • SV-218522r603259_rule
  • SV-64119
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.
Checks: C-19997r562687_chk

Check the ownership of the print service configuration file. Procedure: # ls -lL /etc/cups/printers.conf; If no print service configuration file is found, this is not applicable. If the owner of the file is not root, this is a finding.

Fix: F-19995r562688_fix

Change the owner of the /etc/cups/printers.conf to root. Procedure: # chown root /etc/cups/printers.conf

b
The hosts.lpd (or equivalent) file must be group-owned by lp.
AC-6 - Medium - CCI-000225 - V-218523 - SV-218523r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003930
Vuln IDs
  • V-218523
  • V-22435
Rule IDs
  • SV-218523r603259_rule
  • SV-64117
Failure to give group-ownership of the hosts.lpd file to root, bin, sys, or system provides the members of the owning group and possible unauthorized users, with the potential to modify the hosts.lpd file. Unauthorized modifications could disrupt access to local printers from authorized remote hosts or permit unauthorized remote access to local printers.
Checks: C-19998r562690_chk

Check the group ownership of the /etc/cups/printers.conf file. Procedure: # ls -lL /etc/cups/printers.conf If the file is not group-owned by lp, this is a finding.

Fix: F-19996r562691_fix

Change the group-owner of the printers.conf file. Procedure: # chgrp lp /etc/cups/printers.conf

b
The hosts.lpd (or equivalent) must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218524 - SV-218524r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003940
Vuln IDs
  • V-218524
  • V-829
Rule IDs
  • SV-218524r603259_rule
  • SV-64121
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.
Checks: C-19999r562693_chk

Check the mode of the print service configuration file. Procedure: # ls -lL /etc/cups/printers.conf If no print service configuration file is found, this is not applicable. If the mode of the print service configuration file is more permissive than 0664, this is a finding.

Fix: F-19997r562694_fix

Change the mode of the /etc/cups/printers.conf file to 0664 or less permissive. Procedure: # chmod 0664 /etc/cups/printers.conf

b
The hosts.lpd (or equivalent) file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218525 - SV-218525r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003950
Vuln IDs
  • V-218525
  • V-22436
Rule IDs
  • SV-218525r603259_rule
  • SV-63475
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.
Checks: C-20000r562696_chk

Check the permissions of the /etc/cups/printers.conf file. # ls -lL /etc/cups/printers.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-19998r562697_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/cups/printers.conf

b
The traceroute command owner must be root.
AC-6 - Medium - CCI-000225 - V-218526 - SV-218526r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003960
Vuln IDs
  • V-218526
  • V-4369
Rule IDs
  • SV-218526r603259_rule
  • SV-63487
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 potentially leading to system and network compromise.
Checks: C-20001r562699_chk

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

Fix: F-19999r562700_fix

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

b
The traceroute command must be group-owned by sys, bin, root, or system.
AC-6 - Medium - CCI-000225 - V-218527 - SV-218527r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN003980
Vuln IDs
  • V-218527
  • V-4370
Rule IDs
  • SV-218527r603259_rule
  • SV-63511
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 potentially leading to system and network compromise.
Checks: C-20002r562702_chk

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

Fix: F-20000r562703_fix

Change the group-owner of the traceroute command to root. Procedure: # chgrp root /bin/traceroute

b
The traceroute file must have mode 0700 or less permissive.
AC-6 - Medium - CCI-000225 - V-218528 - SV-218528r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004000
Vuln IDs
  • V-218528
  • V-4371
Rule IDs
  • SV-218528r603259_rule
  • SV-63525
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 potentially leading to system and network compromise.
Checks: C-20003r562705_chk

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

Fix: F-20001r562706_fix

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

b
The traceroute file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218529 - SV-218529r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004010
Vuln IDs
  • V-218529
  • V-22437
Rule IDs
  • SV-218529r603259_rule
  • SV-63539
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 potentially leading to system and network compromise.
Checks: C-20004r562708_chk

Check the permissions of the /bin/traceroute file. # ls -lL /bin/traceroute If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20002r562709_fix

Remove the extended ACL from the file. # setfacl --remove-all /bin/traceroute

c
Administrative accounts must not run a web browser, except as needed for local service administration.
AC-6 - High - CCI-000225 - V-218530 - SV-218530r603259_rule
RMF Control
AC-6
Severity
High
CCI
CCI-000225
Version
GEN004220
Vuln IDs
  • V-218530
  • V-4382
Rule IDs
  • SV-218530r603259_rule
  • SV-63545
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.
Checks: C-20005r562711_chk

Look in the root account home directory for a .mozilla directory. If none exists, this is not a finding. If there is one, verify with the root users and the IAO the intent of the browsing. If the browsing is not limited to authorized local services administration, this is a finding.

Fix: F-20003r562712_fix

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

b
The alias file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218531 - SV-218531r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004360
Vuln IDs
  • V-218531
  • V-831
Rule IDs
  • SV-218531r603259_rule
  • SV-63607
If the alias file is not owned by root, an unauthorized user may modify the file adding aliases to run malicious code or redirect e-mail.
Checks: C-20006r562714_chk

If the "sendmail" and "postfix" packages are not installed, this is not applicable. Check the ownership of the alias files. Procedure: for sendmail: # ls -lL /etc/aliases # ls -lL /etc/aliases.db If all the files are not owned by root, this is a finding. for postfix: Verify the location of the alias file. # postconf alias maps This will return the location of the "aliases" file, by default "/etc/postfix/aliases" # ls -lL &lt;postfix aliases file&gt; # ls -lL &lt;postfix aliases.db file&gt; If all the files are not owned by root, this is a finding.

Fix: F-20004r562715_fix

Change the owner of the /etc/aliases file to root. Procedure: for sendmail: # chown root /etc/aliases # chown root /etc/aliases.db for postfix # chown root /etc/postfix/aliases # chown root /etc/postfix/aliases.db

b
The aliases file must be group-owned by root, sys, bin, or system.
AC-6 - Medium - CCI-000225 - V-218532 - SV-218532r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004370
Vuln IDs
  • V-218532
  • V-22438
Rule IDs
  • SV-218532r603259_rule
  • SV-63613
If the alias file is not group-owned by root or a system group, an unauthorized user may modify the file adding aliases to run malicious code or redirect e-mail.
Checks: C-20007r562717_chk

If the "sendmail" and "postfix" packages are not installed, this is not applicable. Check the group ownership of the alias files. Procedure: for sendmail: # ls -lL /etc/aliases If the files are not group-owned by root, this is a finding. # ls -lL /etc/aliases.db If the file is not group-owned by the same system group as sendmail, which is smmsp by default, this is a finding. for postfix: Verify the location of the alias file. # postconf alias maps This will return the location of the "aliases" file, by default "/etc/postfix/aliases" # ls -lL &lt;postfix aliases file&gt; If the files are not group-owned by root, this is a finding. # ls -lL &lt;postfix aliases.db file&gt; If the file is not group-owned by root, this is a finding.

Fix: F-20005r562718_fix

Change the group-owner of the /etc/aliases file. Procedure: for sendmail: # chgrp root /etc/aliases # chgrp smmsp /etc/aliases.db The aliases.db file must be owned by the same system group as sendmail, which is smmsp by default. for postfix # chgrp root /etc/postfix/aliases # chgrp root /etc/postfix/aliases.db

b
The alias file must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218533 - SV-218533r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004380
Vuln IDs
  • V-218533
  • V-832
Rule IDs
  • SV-218533r603259_rule
  • SV-63637
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.
Checks: C-20008r562720_chk

If the "sendmail" and "postfix" packages are not installed, this is not applicable. Check the permissions of the alias file. Procedure: for sendmail: # ls -lL /etc/aliases /etc/aliases.db If an alias file has a mode more permissive than 0644, this is a finding. for postfix: Verify the location of the alias file. # postconf alias_maps This will return the location of the "aliases" file, by default "/etc/postfix/aliases". # ls -lL &lt;postfix aliases file&gt; &lt;postfix aliases.db file&gt; If an alias file has a mode more permissive than 0644, this is a finding.

Fix: F-20006r562721_fix

Change the mode of the alias files as needed to function. No higher than 0644. Procedure: for sendmail: # chmod 0644 /etc/aliases /etc/aliases.db for postfix (assuming the default postfix directory): # chmod 0644 /etc/postfix/aliases /etc/postfix/aliases

b
The alias file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218534 - SV-218534r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004390
Vuln IDs
  • V-218534
  • V-22439
Rule IDs
  • SV-218534r603259_rule
  • SV-63643
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.
Checks: C-20009r562723_chk

If the "sendmail" and "postfix" packages are not installed, this is not applicable. Check the permissions of the alias file. Procedure: for sendmail: # ls -lL /etc/aliases /etc/aliases.db If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding. for postfix: Verify the location of the alias file. # postconf alias maps This will return the location of the "aliases" file, by default "/etc/postfix/aliases" # ls -lL &lt;postfix aliases file&gt; &lt;postfix aliases.db file&gt; If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20007r562724_fix

Remove the extended permissions from the alias files. Procedure: for sendmail: # setfacl --remove-all /etc/aliases /etc/aliases.db for postfix (assuming the default postfix directory): # setfacl --remove-all /etc/postfix/aliases /etc/postfix/aliases.db

c
Files executed through a mail aliases file must be owned by root and must reside within a directory owned and writable only by root.
AC-6 - High - CCI-000225 - V-218535 - SV-218535r603259_rule
RMF Control
AC-6
Severity
High
CCI
CCI-000225
Version
GEN004400
Vuln IDs
  • V-218535
  • V-833
Rule IDs
  • SV-218535r603259_rule
  • SV-63699
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.
Checks: C-20010r562726_chk

Verify the ownership of files referenced within the sendmail aliases file. Procedure: # more /etc/aliases Examine the aliases file for any utilized directories or paths. # ls -lL &lt;directory or file path&gt; Check the owner for any paths referenced. Check if the file or parent directory is owned by root. If not, this is a finding.

Fix: F-20008r562727_fix

Edit the /etc/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 <file or directory name>

b
Files executed through a mail aliases file must be group-owned by root, bin, sys, or system, and must reside within a directory group-owned by root, bin, sys, or system.
AC-6 - Medium - CCI-000225 - V-218536 - SV-218536r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004410
Vuln IDs
  • V-218536
  • V-22440
Rule IDs
  • SV-218536r603259_rule
  • SV-63719
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.
Checks: C-20011r562729_chk

Examine the contents of the /etc/aliases file. Procedure: # more /etc/aliases Examine the aliases file for any utilized directories or paths. # ls -lL &lt;file referenced from aliases&gt; Check the permissions for any paths referenced. If the group owner of any file is not root, bin, sys, or system, this is a finding.

Fix: F-20009r562730_fix

Change the group ownership of the file referenced from /etc/aliases. Procedure: # chgrp root <file referenced from aliases>

b
Files executed through a mail aliases file must have mode 0755 or less permissive.
AC-6 - Medium - CCI-000225 - V-218537 - SV-218537r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004420
Vuln IDs
  • V-218537
  • V-834
Rule IDs
  • SV-218537r603259_rule
  • SV-63739
If a file executed through a mail aliases file has permissions greater than 0755, it can be modified by an unauthorized user and may contain malicious code or instructions potentially compromising the system.
Checks: C-20012r562732_chk

If the "sendmail" package is not installed, this is not applicable. Examine the contents of the /etc/aliases file. Procedure: # more /etc/aliases Examine the aliases file for any referenced programs, which are specified with the pipe (|) symbol. # ls -lL &lt;file referenced from aliases&gt; Check the permissions for any paths referenced. If any file referenced from the aliases file has a mode more permissive than 0755, this is a finding.

Fix: F-20010r562733_fix

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

b
Files executed through a mail aliases file must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218538 - SV-218538r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004430
Vuln IDs
  • V-218538
  • V-22441
Rule IDs
  • SV-218538r603259_rule
  • SV-63745
Excessive permissions on files executed through a mail aliases file could result in modification by an unauthorized user, execution of malicious code, and/or system compromise.
Checks: C-20013r562735_chk

Examine the contents of the /etc/aliases file. Procedure: # more /etc/aliases Examine the aliases file for any utilized directories or paths. # ls -lL &lt;file referenced from aliases&gt; Check the permissions for any paths referenced. If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20011r562736_fix

Remove the extended ACL from the file. # setfacl --remove-all <file referenced from aliases>

a
Sendmail logging must not be set to less than nine in the sendmail.cf file.
CM-6 - Low - CCI-000366 - V-218539 - SV-218539r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN004440
Vuln IDs
  • V-218539
  • V-835
Rule IDs
  • SV-218539r603259_rule
  • SV-63747
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.
Checks: C-20014r555815_chk

If the "sendmail" package is not installed, this is not applicable. Check if sendmail logging is set to level nine: Procedure: for sendmail: # grep "O L" /etc/mail/sendmail.cf OR # grep LogLevel /etc/mail/sendmail.cf If logging is set to less than nine, this is a finding. for Postfix: This rule is not applicable to postfix which does not use "log levels" in the same fashion as sendmail.

Fix: F-20012r555816_fix

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

b
The system syslog service must log informational and more severe SMTP service messages.
CM-6 - Medium - CCI-000366 - V-218540 - SV-218540r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN004460
Vuln IDs
  • V-218540
  • V-836
Rule IDs
  • SV-218540r603259_rule
  • SV-63749
If informational and more severe SMTP service messages are not logged, malicious activity on the system may go unnoticed.
Checks: C-20015r555818_chk

Check the syslog configuration file for mail.crit logging configuration. Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Procedure: # grep "mail\." /etc/syslog.conf Or: #grep "mail\." /etc/syslog.conf If syslog is not configured to log critical sendmail messages ("mail.crit" or "mail.*"), this is a finding.

Fix: F-20013r555819_fix

Edit the syslog.conf or rsyslog.conf file and add a configuration line specifying an appropriate destination for "mail.crit" or "mail.*" syslog messages.

b
The SMTP service log file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218541 - SV-218541r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004480
Vuln IDs
  • V-218541
  • V-837
Rule IDs
  • SV-218541r603259_rule
  • SV-63751
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.
Checks: C-20016r562738_chk

Locate any mail log files by checking the syslog configuration file. Procedure: The check procedure is the same for both sendmail and Postfix. Identify any log files configured for the "mail" service (excluding mail.none) at any severity level and check the ownership. Depending on what system is used for log processing, either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. For syslog: # egrep "mail\.[^n][^/]*" /etc/syslog.conf|sed 's/^[^/]*//'|xargs ls -lL For rsyslog: # egrep "mail\.[^n][^/]*" /etc/rsyslog.conf|sed 's/^[^/]*//'|xargs ls -lL If any mail log file is not owned by root, this is a finding.

Fix: F-20014r562739_fix

Change the ownership of the sendmail log file. Procedure: The fix procedure is the same for both sendmail and Postfix. # chown root <sendmail log file>

b
The SMTP service log file must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218542 - SV-218542r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004500
Vuln IDs
  • V-218542
  • V-838
Rule IDs
  • SV-218542r603259_rule
  • SV-63753
If the SMTP service log file is more permissive than 0644, unauthorized users may be allowed to change the log file.
Checks: C-20017r562741_chk

Check the mode of the SMTP service log file. Procedure: The check procedure is the same for both sendmail and Postfix. Identify any log files configured for the "mail" service (excluding mail.none) at any severity level and check the permissions. Depending on what system is used for log processing, either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. For syslog: # egrep "mail\.[^n][^/]*" /etc/syslog.conf|sed 's/^[^/]*//'|xargs ls -lL For rsyslog: # egrep "mail\.[^n][^/]*" /etc/rsyslog.conf|sed 's/^[^/]*//'|xargs ls -lL If the log file permissions are greater than 0644, this is a finding.

Fix: F-20015r562742_fix

Change the mode of the SMTP service log file. Procedure: The fix procedure is the same for both sendmail and Postfix. # chmod 0644 <sendmail log file>

b
The SMTP service log file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218543 - SV-218543r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004510
Vuln IDs
  • V-218543
  • V-22442
Rule IDs
  • SV-218543r603259_rule
  • SV-63755
If the SMTP service log file has an extended ACL, unauthorized users may be allowed to access or to modify the log file.
Checks: C-20018r562744_chk

Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Examine /etc/syslog.conf or /etc/rsyslog.conf and determine the log file(s) receiving logs for "mail.crit", "mail.debug", mail.*, or "*.crit". Procedure: This check is applicable to both Postfix or sendmail servers. Check the permissions on these log files. Identify any log files configured for "*.crit" and the "mail" service (excluding mail.none) and at any severity level. For syslog: # egrep "(\*.crit|mail\.[^n][^/]*)" /etc/syslog.conf|sed 's/^[^/]*//'|xargs ls -lL For rsyslog: # egrep "(\*.crit|mail\.[^n][^/]*)" /etc/rsyslog.conf|sed 's/^[^/]*//'|xargs ls -lL If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20016r562745_fix

This fix is applicable to both Postfix and sendmail servers. Remove the extended ACL from the file. # setfacl --remove-all <log file>

b
The SMTP service HELP command must not be enabled.
CM-6 - Medium - CCI-000366 - V-218544 - SV-218544r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN004540
Vuln IDs
  • V-218544
  • V-12006
Rule IDs
  • SV-218544r603259_rule
  • SV-63759
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.
Checks: C-20019r555830_chk

Check if Help is disabled. This rule is for "sendmail" only and not applicable to "Postfix". Procedure: # telnet localhost 25 &gt; help If the help command returns any sendmail version information, this is a finding. If sendmail is not installed, this check is not applicable.

Fix: F-20017r555831_fix

To disable the SMTP HELP command, clear the Sendmail help file. # echo > /etc/mail/helpfile

a
The SMTP services SMTP greeting must not provide version information.
CM-6 - Low - CCI-000366 - V-218545 - SV-218545r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN004560
Vuln IDs
  • V-218545
  • V-4384
Rule IDs
  • SV-218545r603259_rule
  • SV-63771
The version of the SMTP service can be used by attackers to plan an attack based on vulnerabilities present in the specific version.
Checks: C-20020r555833_chk

To check for the version of either sendmail or Postfix being displayed in the greeting: # telnet localhost 25 If a version number is displayed, this is a finding.

Fix: F-20018r555834_fix

Ensure sendmail or Postfix has been configured to mask the version information. Procedure for sendmail: Change the O SmtpGreetingMessage line in the /etc/mail/sendmail.cf file as noted below: O SmtpGreetingMessage=$j Sendmail $v/$Z; $b change it to: O SmtpGreetingMessage= Mail Server Ready ; $b for Postfix: Examine the "smtpd_banner" line of /etc/postfix/main.conf and remove any "$mail_version" entry on it or comment the entire "smtpd_banner" line to use the default value which does not display the version information.

b
The system must not use .forward files.
CM-6 - Medium - CCI-000366 - V-218546 - SV-218546r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN004580
Vuln IDs
  • V-218546
  • V-4385
Rule IDs
  • SV-218546r603259_rule
  • SV-62713
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.
Checks: C-20021r555836_chk

Check forwarding capability from sendmail. Procedure: grep "O ForwardPath" /etc/mail/sendmail.cf If the entry contains a file path, this is a finding. Search for any .forward in users home directories on the system by: # for pwline in `cut -d: -f1,6 /etc/passwd`; do homedir=`echo ${pwline}|cut -d: -f2`;username=`echo ${pwline} | cut -d: -f1`;echo $username `stat -c %n $homedir/.forward 2&gt;null`; done|egrep "\.forward" If any users have a .forward file in their home directory, this is a finding.

Fix: F-20019r555837_fix

Disable forwarding for sendmail and remove .forward files from the system Procedure: Edit the /etc/mail/sendmail.mc file to change the ForwardPath entry to a null path by adding the line define(`confFORWARD_PATH',`') rebuild the sendmail.cf file. Remove all .forward files on the system # find / -name .forward -delete

c
The SMTP service must be an up-to-date version.
CM-6 - High - CCI-000366 - V-218547 - SV-218547r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN004600
Vuln IDs
  • V-218547
  • V-4689
Rule IDs
  • SV-218547r603259_rule
  • SV-62907
The SMTP service version on the system must be current to avoid exposing vulnerabilities present in unpatched versions.
Checks: C-20022r555839_chk

Determine the version of the SMTP service software. Procedure: # rpm -q sendmail sendmail-8.13.8-10 is the latest required version. If sendmail is installed and the version is not at least 8.13.8-10, this is a finding. # rpm -q postfix postfix-2.3.3-7.el5 is the latest required version. If the postfix is installed and the version is not at least 2:2.3.3-7, this is a finding.

Fix: F-20020r555840_fix

Obtain and install a newer version of the SMTP service software (sendmail or Postfix) from the operating system vendor.

c
The sendmail server must have the debug feature disabled.
CM-6 - High - CCI-000366 - V-218548 - SV-218548r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN004620
Vuln IDs
  • V-218548
  • V-4690
Rule IDs
  • SV-218548r603259_rule
  • SV-62813
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.
Checks: C-20023r555842_chk

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" or a 550 error code of "access denied", this is a finding. The operating system distribution ships with sendmail Version 8.13.8 which is not vulnerable. This should never be a finding.

Fix: F-20021r555843_fix

Obtain and install a newer version of the SMTP service software (sendmail or Postfix) from the operating system vendor.

c
The SMTP service must not have a uudecode alias active.
CM-6 - High - CCI-000366 - V-218549 - SV-218549r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN004640
Vuln IDs
  • V-218549
  • V-4691
Rule IDs
  • SV-218549r603259_rule
  • SV-62821
A common configuration for older Mail Transfer Agents (MTAs) is to include an alias for the decode user. All mail sent to this user is sent to the uudecode program, which automatically converts and stores files. By sending mail to the decode or the uudecode aliases present on some systems, a remote attacker may be able to create or overwrite files on the remote host. This could possibly be used to gain remote access.
Checks: C-20024r562747_chk

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: F-20022r562748_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 new aliases command. For more information on mail aliases, refer to the man page for aliases. Disabled aliases would be similar to these examples: # decode: |/usr/bin/uudecode # uudecode: |/usr/bin/uuencode -d

a
The SMTP service must not have the EXPN feature active.
CM-6 - Low - CCI-000366 - V-218550 - SV-218550r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN004660
Vuln IDs
  • V-218550
  • V-4692
Rule IDs
  • SV-218550r603259_rule
  • SV-62833
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.
Checks: C-20025r562750_chk

This vulnerability is applicable only to sendmail. If Postfix is the SMTP service for the system this will never be a finding. Procedure: Determine if EXPN is disabled. # grep -v "^#" /etc/mail/sendmail.cf |grep -i PrivacyOptions If nothing is returned or the returned line does not contain "noexpn", this is a finding.

Fix: F-20023r562751_fix

Rebuild /etc/mail/sendmail.cf with the "noexpn" Privacy Flag set. Procedure: Edit /etc/mail/sendmail.mc resetting the Privacy Flags to the default: define('confPRIVACYFLAGS', 'authwarnings,novrfy,noexpn,restrictqrun')dnl Rebuild the sendmail.cf file with: # make -C /etc/mail Restart the sendmail service. # service sendmail restart

a
The SMTP service must not have the Verify (VRFY) feature active.
CM-6 - Low - CCI-000366 - V-218551 - SV-218551r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN004680
Vuln IDs
  • V-218551
  • V-4693
Rule IDs
  • SV-218551r603259_rule
  • SV-62859
The VRFY 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.
Checks: C-20026r562753_chk

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: # grep -v "^#" /etc/mail/sendmail.cf |grep -i vrfy Verify 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: F-20024r562754_fix

Add the "novrfy" flag to your sendmail in /etc/mail/sendmail.cf. Procedure: Edit the definition of "confPRIVACY_FLAGS" in /etc/mail/sendmail.mc to include "novrfy". Rebuild the sendmail.cf file with: # make -C /etc/mail Restart the sendmail service. # service sendmail restart

a
The sendmail service must not have the wizard backdoor active.
CM-6 - Low - CCI-000366 - V-218552 - SV-218552r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN004700
Vuln IDs
  • V-218552
  • V-4694
Rule IDs
  • SV-218552r603259_rule
  • SV-62867
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.
Checks: C-20027r555854_chk

Log into the sendmail server with telnet and test the "wiz" command. Procedure: # telnet localhost 25 Trying 127.0.0.1... Connected to locahost.localdomain (127.0.0.1). Escape character ... Once the telnet greeting is complete type: wiz If you do not get a "Command unrecognized: " message, this is a finding.

Fix: F-20025r555855_fix

If the WIZ command exists on sendmail then the version of sendmail is archaic and should be replaced with the latest version from the operating system vendor. WIZ is not available on any sendmail distribution delivered by this operating system. However, if the WIZ command is enabled on sendmail, it should be disabled by adding this line to the sendmail.cf configuration file (note that it must be typed in uppercase): OW* For the change to take effect, kill the sendmail process, refreeze the sendmail.cf file, and restart the sendmail process.

b
Mail relaying must be restricted.
CM-6 - Medium - CCI-000366 - V-218553 - SV-218553r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN004710
Vuln IDs
  • V-218553
  • V-23952
Rule IDs
  • SV-218553r603259_rule
  • SV-62879
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.
Checks: C-20028r562756_chk

If the system uses sendmail examine the configuration files. 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: # grep -i promiscuous_relay /etc/mail/sendmail.mc If the promiscuous relay feature is enabled, this is a finding. If the system uses Postfix, locate the main.cf file. Procedure: # find / -name main.cf Determine if Postfix only binds to loopback addresses by examining the "inet_interfaces" line. Procedure: # grep inet_interfaces &lt;/path/to/main.cf&gt; 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 &lt;/path/to/main.cf&gt; If the "smtpd_client_restrictions" line is missing, or does not contain "reject", this is a finding. If the line contains "permit" before "reject", this is a finding. If the system is using other SMTP software, consult the software's documentation for procedures to verify mail relaying is restricted.

Fix: F-20026r562757_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.

b
Unencrypted FTP must not be used on the system.
CM-6 - Medium - CCI-000366 - V-218554 - SV-218554r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN004800
Vuln IDs
  • V-218554
  • V-12010
Rule IDs
  • SV-218554r603259_rule
  • SV-62885
FTP is typically unencrypted and 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.
Checks: C-20029r555860_chk

Perform the following to determine if unencrypted FTP is enabled: # chkconfig --list gssftp # chkconfig --list vsftpd If any of these services are found, ask the SA if these services are encrypted. If they are not, this is a finding.

Fix: F-20027r555861_fix

Disable the FTP daemons. Procedure: # chkconfig gssftp off # chkconfig vsftpd off

b
Anonymous FTP must not be active on the system unless authorized.
AC-22 - Medium - CCI-001475 - V-218555 - SV-218555r603259_rule
RMF Control
AC-22
Severity
Medium
CCI
CCI-001475
Version
GEN004820
Vuln IDs
  • V-218555
  • V-846
Rule IDs
  • SV-218555r603259_rule
  • SV-62955
Due to the numerous vulnerabilities inherent in anonymous FTP, it is not recommended. If anonymous FTP must be used on a system, the requirement must be authorized and approved in the system accreditation package.
Checks: C-20030r562759_chk

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

Fix: F-20028r562760_fix

Configure the FTP service to not permit anonymous logins.

b
If the system is an anonymous FTP server, it must be isolated to the DMZ network.
CM-6 - Medium - CCI-000366 - V-218556 - SV-218556r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN004840
Vuln IDs
  • V-218556
  • V-4702
Rule IDs
  • SV-218556r603259_rule
  • SV-62925
Anonymous FTP is a public data service which is only permitted in a server capacity when located on the DMZ network.
Checks: C-20031r562762_chk

Use the command "ftp" to connect the system's FTP service. Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of guest@mail.com). If the logon is not successful, this check is Not Applicable. Ask the SA if the system is located on a DMZ network. If the system is not located on a DMZ network, this is a finding.

Fix: F-20029r562763_fix

Remove anonymous ftp capability or move the system to a DMZ network.

b
The ftpusers file must exist.
AC-6 - Medium - CCI-000225 - V-218557 - SV-218557r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004880
Vuln IDs
  • V-218557
  • V-840
Rule IDs
  • SV-218557r603259_rule
  • SV-62959
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.
Checks: C-20032r562765_chk

Check for the existence of the ftpusers file. Procedure: For gssftp: # ls -l /etc/ftpusers For vsftp: # ls -l /etc/vsftpd.ftpusers or # ls -l /etc/vsftpd/ftpusers If the appropriate ftpusers file for the running FTP service does not exist, this is a finding.

Fix: F-20030r562766_fix

Create an ftpusers file appropriate for the running FTP service. For gssftp: Create an /etc/ftpusers file containing a list of accounts not authorized for FTP. For vsftp: Create an /etc/vsftpd.ftpusers or /etc/vsftpd/ftpusers (as appropriate) file containing a list of accounts not authorized for FTP.

b
The ftpusers file must contain account names not allowed to use FTP.
AC-6 - Medium - CCI-000225 - V-218558 - SV-218558r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004900
Vuln IDs
  • V-218558
  • V-841
Rule IDs
  • SV-218558r603259_rule
  • SV-62981
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.
Checks: C-20033r562768_chk

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

Fix: F-20031r562769_fix

For gssftp: Add accounts not allowed to use FTP to the /etc/ftpusers file. For vsftp: Add accounts not allowed to use FTP to the /etc/vsftpd.ftpusers or /etc/vsftpd/ftpusers file (as appropriate).

b
The ftpusers file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218559 - SV-218559r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004920
Vuln IDs
  • V-218559
  • V-842
Rule IDs
  • SV-218559r603259_rule
  • SV-63009
If the file ftpusers is not owned by root, an unauthorized user may modify the file to allow unauthorized accounts to use FTP.
Checks: C-20034r562771_chk

Check the ownership of the ftpusers file. Procedure: For gssftp: # ls -l /etc/ftpusers For vsftp: # ls -l /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers If the ftpusers file is not owned by root, this is a finding.

Fix: F-20032r562772_fix

Change the owner of the ftpusers file to root. For gssftp: # chown root /etc/ftpusers For vsftp: # chown root /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers

b
The ftpusers file must be group-owned by root, bin, sys, or system.
AC-6 - Medium - CCI-000225 - V-218560 - SV-218560r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004930
Vuln IDs
  • V-218560
  • V-22444
Rule IDs
  • SV-218560r603259_rule
  • SV-63015
If the ftpusers file is not group-owned by root or a system group, an unauthorized user may modify the file to allow unauthorized accounts to use FTP.
Checks: C-20035r562774_chk

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

Fix: F-20033r562775_fix

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

b
The ftpusers file must have mode 0640 or less permissive.
AC-6 - Medium - CCI-000225 - V-218561 - SV-218561r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004940
Vuln IDs
  • V-218561
  • V-843
Rule IDs
  • SV-218561r603259_rule
  • SV-63079
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.
Checks: C-20036r562777_chk

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

Fix: F-20034r562778_fix

Change the mode of the ftpusers file to 0640. Procedure: For gssftp: # chmod 0640 /etc/ftpusers For vsftp: # chmod 0640 /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers

b
The ftpusers file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218562 - SV-218562r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN004950
Vuln IDs
  • V-218562
  • V-22445
Rule IDs
  • SV-218562r603259_rule
  • SV-63083
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.
Checks: C-20037r562780_chk

Check the permissions of the /etc/ftpusers file. # ls -lL /etc/ftpusers /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20035r562781_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/ftpusers /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers

a
The FTP daemon must be configured for logging or verbose mode.
AU-3 - Low - CCI-000130 - V-218563 - SV-218563r603259_rule
RMF Control
AU-3
Severity
Low
CCI
CCI-000130
Version
GEN004980
Vuln IDs
  • V-218563
  • V-845
Rule IDs
  • SV-218563r603259_rule
  • SV-63103
The -l option allows basic logging of connections. The verbose (on HP) and the debug (on Solaris) allow logging of what files the ftp session transferred. This extra logging makes it possible to easily track which files are being transferred onto or from a system. If they are not configured, the only option for tracking is the audit files. The audit files are much harder to read. If auditing is not properly configured, then there would be no record at all of the file transfer transactions.
Checks: C-20038r562783_chk

Find if logging is applied to the ftp daemon. The procedure depends on the implementation of ftpd used by the system. Procedures: For vsftpd: If vsftpd is started by xinetd: #grep vsftpd /etc/xinetd.d/* This will indicate the xinetd.d startup file #grep server_args &lt;vsftpd xinetd.d startup file&gt; This will indicate the vsftpd config file used when starting through xinetd. If the line is missing then "/etc/vsftpd/vsftpd.conf", the default config file, is used. #grep xferlog_enable &lt;vsftpd config file&gt; If "xferlog_enable" is missing or is not set to "yes", this is a finding. If vsftp is not started by xinetd: #grep xferlog_enable /etc/vsftpd/vsftpd.conf If "xferlog_enable" is missing or is not set to "yes", this is a finding. For gssftp: Find if the -l option will be applied when xinetd starts gssftp # grep server_args /etc/xinetd.d/gssftp If the line is missing or does not contain at least one -l, this is a finding.

Fix: F-20036r562784_fix

Enable logging by changing ftpd startup or config files. Procedure: The procedure depends on the implementation of ftpd used by the system. For vsftpd: Ensure the server settings in "/etc/vsftpd.conf" (or other configuration file specified by the vaftpd xinetd.d startup file) contains: xferlog_enable = yes For gssftp: If the "disable" server setting is missing or set to "no" in "/etc/xinetd.d/gssftp" then ensure the server settings in "/etc/xinetd.d/gssftp" contains: server_args = -l The -l option may be added up to three times. Each -l will provide increasing verbosity on the log. Refer to the main page for ftpd for more information. For both if started using xinetd: If the "disable" server setting is missing or set to "no" in the /etc/xinetd.d startup file then ensure the server settings contains: log_on_success += DURATION USERID This will log the startup and shutdown of the daemon. log_on_failure += HOST USERID

c
Anonymous FTP accounts must not have a functional shell.
AC-6 - High - CCI-000225 - V-218564 - SV-218564r603259_rule
RMF Control
AC-6
Severity
High
CCI
CCI-000225
Version
GEN005000
Vuln IDs
  • V-218564
  • V-4387
Rule IDs
  • SV-218564r603259_rule
  • SV-63109
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.
Checks: C-20039r562786_chk

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: F-20037r562787_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.

b
All FTP users must have a default umask of 077.
AC-6 - Medium - CCI-000225 - V-218565 - SV-218565r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005040
Vuln IDs
  • V-218565
  • V-12011
Rule IDs
  • SV-218565r603259_rule
  • SV-63113
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).
Checks: C-20040r562789_chk

Check the umask setting for FTP users. Procedure: For gssftp: Assuming an anonymous ftp user has been defined with no user initialization script invoked to change the umask # ftp localhost Name: (localhost:root): anonymous Password: anything ftp&gt;umask If the umask value returned is not 077, this is a finding. or: # grep "server_args" /etc/xinetd.d/gssftp The default umask for FTP is "023" if the server _args entry does not contain "-u 077" this is a finding. For vsftp: # grep "_mask" /etc/vsftpd/vsftpd.conf The default "local_umask" setting is 077. If this has been changed, or the "anon_umask" setting is not 077, this is a finding.

Fix: F-20038r562790_fix

Edit the initialization files for the ftp user and set the umask to 077. Procedure: For gssftp: Modify the /etc/xinetd.d/gssftp file adding "-u 077" to the server_args entry. For vsftp: Modify the "/etc/vsftpd/vsftpd.conf" setting "local_umask" and "anon_umask" to 077.

c
The TFTP daemon must operate in secure mode which provides access only to a single directory on the host file system.
CM-6 - High - CCI-000366 - V-218566 - SV-218566r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN005080
Vuln IDs
  • V-218566
  • V-847
Rule IDs
  • SV-218566r603259_rule
  • SV-63119
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.
Checks: C-20041r555896_chk

# grep server_args /etc/xinetd.d/tftp If the "-s" parameter is not specified, this is a finding.

Fix: F-20039r555897_fix

Edit /etc/xinetd.d/tftp file and specify the "-s" parameter in server_args.

c
The TFTP daemon must have mode 0755 or less permissive.
AC-6 - High - CCI-000225 - V-218567 - SV-218567r603259_rule
RMF Control
AC-6
Severity
High
CCI
CCI-000225
Version
GEN005100
Vuln IDs
  • V-218567
  • V-848
Rule IDs
  • SV-218567r603259_rule
  • SV-63163
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.
Checks: C-20042r562792_chk

Check the mode of the TFTP daemon. Procedure: # grep "server " /etc/xinetd.d/tftp # ls -lL &lt;in.tftpd binary&gt; If the mode of the file is more permissive than 0755, this is a finding.

Fix: F-20040r562793_fix

Change the mode of the TFTP daemon. Procedure: # chmod 0755 <in.tftpd binary>

b
The TFTP daemon must be configured to vendor specifications, including a dedicated TFTP user account, a non-login shell such as /bin/false, and a home directory owned by the TFTP user.
AC-6 - Medium - CCI-000225 - V-218568 - SV-218568r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005120
Vuln IDs
  • V-218568
  • V-849
Rule IDs
  • SV-218568r603259_rule
  • SV-63159
If TFTP has a valid shell, it increases the likelihood someone could log on to the TFTP account and compromise the system.
Checks: C-20043r562795_chk

Check the /etc/passwd file to determine if TFTP is configured properly. Procedure: Check if TFTP if used. # grep disable /etc/xinetd.d/tftp If the file does not exist or the returned line indicates "yes", then this is not a finding. Otherwise, if the returned line indicates "no" then TFTP is enabled and must use a dedicated "tftp" user. # grep user /etc/xinetd.d/tftp If the returned line indicates a user other than the dedicated "tftp" user, this is a finding. # 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: F-20041r562796_fix

Configure TFTP to use a dedicated "tftp" user. Procedure: Create a dedicated "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. Edit /etc/xinetd.d/tftp to have "tftp" as the value of the "user" parameter.

c
Any active TFTP daemon must be authorized and approved in the system accreditation package.
AC-6 - High - CCI-000225 - V-218569 - SV-218569r603259_rule
RMF Control
AC-6
Severity
High
CCI
CCI-000225
Version
GEN005140
Vuln IDs
  • V-218569
  • V-4695
Rule IDs
  • SV-218569r603259_rule
  • SV-63167
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.
Checks: C-20044r562798_chk

Determine if the TFTP daemon is active. # chkconfig --list | grep tftp If TFTP is found enabled ("on") and not documented using site-defined procedures, it is a finding.

Fix: F-20042r562799_fix

Document or Disable the TFTP daemon. If the TFTP daemon is necessary on the system, document and justify its usage for approval from the IAO. If the TFTP daemon is not necessary on the system, turn it off. # chkconfig tftp off # service xinetd restart

b
Any X Windows host must write .Xauthority files.
CM-6 - Medium - CCI-000366 - V-218570 - SV-218570r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005160
Vuln IDs
  • V-218570
  • V-850
Rule IDs
  • SV-218570r603259_rule
  • SV-63199
.Xauthority files ensure the user is authorized to access specific X Windows host. If .Xauthority files are not used, it may be possible to obtain unauthorized access to the X Windows host.
Checks: C-20045r555908_chk

Check for .Xauthority or .xauth files being utilized by looking for such files in the home directory of a user. Procedure: # find / -name '.xauth*' | more If no .xauth files are found in a user's home directory, ensure that Xwindows is not active on the system by performing the command: # ps -ef | grep X If Xwindows is not running, this rule is not applicable. If the .Xauthority or .xauth (followed by apparently random characters) files do not exist, ask the SA if the user is using Xwindows. If the user is utilizing Xwindows and none of these files exist, this is a finding.

Fix: F-20043r555909_fix

Ensure the X Windows host is configured to write .Xauthority files into user home directories. Edit the Xaccess file. Ensure the line writing the .Xauthority file is uncommented.

b
All .Xauthority files must have mode 0600 or less permissive.
CM-6 - Medium - CCI-000366 - V-218571 - SV-218571r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005180
Vuln IDs
  • V-218571
  • V-12014
Rule IDs
  • SV-218571r603259_rule
  • SV-63205
.Xauthority files ensure the user is authorized to access 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.
Checks: C-20046r562801_chk

Check the file permissions for the .Xauthority files. Procedure: # ls -la |egrep "(\.Xauthority|\.xauth)" If the file mode is more permissive than 0600, this is finding.

Fix: F-20044r562802_fix

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

b
The .Xauthority files must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218572 - SV-218572r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005190
Vuln IDs
  • V-218572
  • V-22446
Rule IDs
  • SV-218572r603259_rule
  • SV-63285
.Xauthority files ensure the user is authorized to access 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.
Checks: C-20047r555914_chk

Check the file permissions for the .Xauthority files. These files will be located in user home directories. Procedure: # ls -la ~username |egrep "(\.Xauthority|\.xauth)" If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20045r555915_fix

Remove the extended ACL from the file. # setfacl --remove-all .Xauthority

c
X displays must not be exported to the world.
CM-6 - High - CCI-000366 - V-218573 - SV-218573r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN005200
Vuln IDs
  • V-218573
  • V-4697
Rule IDs
  • SV-218573r603259_rule
  • SV-63295
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.
Checks: C-20048r555917_chk

If Xwindows 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 able to 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: F-20046r555918_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.

b
.Xauthority or X*.hosts (or equivalent) file(s) must be used to restrict access to the X server.
CM-6 - Medium - CCI-000366 - V-218574 - SV-218574r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005220
Vuln IDs
  • V-218574
  • V-12016
Rule IDs
  • SV-218574r603259_rule
  • SV-63313
If access to the X server is not restricted, a user's X session may be compromised.
Checks: C-20049r555920_chk

Determine if the X server is running. Procedure: # ps -ef |grep X Determine if xauth is being used. Procedure: # xauth xauth&gt; 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 file, where "*" is a display number 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: F-20047r555921_fix

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

b
The .Xauthority utility must only permit access to authorized hosts.
CM-6 - Medium - CCI-000366 - V-218575 - SV-218575r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005240
Vuln IDs
  • V-218575
  • V-12017
Rule IDs
  • SV-218575r603259_rule
  • SV-63329
If unauthorized clients are permitted access to the X server, a user's X session may be compromised.
Checks: C-20050r555923_chk

Check the X window system access is limited to authorized clients. Procedure: # xauth xauth&gt; list Ask the SA if the clients listed are authorized. If any are not, this is a finding.

Fix: F-20048r555924_fix

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

b
X Window System connections not required must be disabled.
CM-7 - Medium - CCI-000381 - V-218576 - SV-218576r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN005260
Vuln IDs
  • V-218576
  • V-12018
Rule IDs
  • SV-218576r603259_rule
  • SV-63347
If unauthorized clients are permitted access to the X server, a user's X session may be compromised.
Checks: C-20051r562804_chk

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

Fix: F-20049r562805_fix

Disable the X Windows server on the system.

b
The system must not have the UUCP service active.
AC-17 - Medium - CCI-001436 - V-218577 - SV-218577r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001436
Version
GEN005280
Vuln IDs
  • V-218577
  • V-4696
Rule IDs
  • SV-218577r603259_rule
  • SV-63353
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.
Checks: C-20052r562807_chk

# service uucp status if UUCP is "running", this is a finding.

Fix: F-20050r562808_fix

# chkconfig uucp off # service uucp stop # service xinetd restart

c
SNMP communities, users, and passphrases must be changed from the default.
IA-5 - High - CCI-000178 - V-218578 - SV-218578r603259_rule
RMF Control
IA-5
Severity
High
CCI
CCI-000178
Version
GEN005300
Vuln IDs
  • V-218578
  • V-993
Rule IDs
  • SV-218578r603259_rule
  • SV-63371
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).
Checks: C-20053r562810_chk

Check the SNMP configuration for default passwords. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # more &lt;snmpd.conf file&gt; 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: F-20051r562811_fix

Change the default passwords. To change them, locate the file snmpd.conf. Edit the file. Locate the line system-group-read-community which has a default password of "public" and make the password something more secure and less guessable. Do the same for the lines reading system-group-write-community, read-community, write-community, trap and trap-community. Read the information in the file carefully. The trap is defining who to send traps to, for instance, by default. It is not a password, but the name of a host.

b
The SNMP service must use only SNMPv3 or its successors.
CM-7 - Medium - CCI-000381 - V-218579 - SV-218579r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN005305
Vuln IDs
  • V-218579
  • V-22447
Rule IDs
  • SV-218579r603259_rule
  • SV-63397
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.
Checks: C-20054r562813_chk

Check the SNMP daemon is not configured to use the v1 or v2c security models. Procedure: Examine the default install location /etc/snmpd.conf or: # find / -name snmpd.conf # grep -E '(v1|v2c|community|com2sec)' &lt;snmp.conf file&gt; | grep -v '^#' If any configuration is found, this is a finding.

Fix: F-20052r562814_fix

Edit /etc/snmpd.conf and remove references to the "v1", "v2c", "community", or "com2sec". Restart the SNMP service. # service snmpd restart

b
The SNMP service must require the use of a FIPS 140-2 approved cryptographic hash algorithm as part of its authentication and integrity methods.
AC-17 - Medium - CCI-001453 - V-218580 - SV-218580r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
GEN005306
Vuln IDs
  • V-218580
  • V-22448
Rule IDs
  • SV-218580r603259_rule
  • SV-63407
The SNMP service must use SHA-1 or a FIPS 140-2 approved successor for authentication and integrity.
Checks: C-20055r555938_chk

Verify the SNMP daemon uses SHA for SNMPv3 users. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # grep -v '^#' &lt;snmpd.conf file&gt; | grep -i createuser | grep -vi SHA If any line is present this is a finding.

Fix: F-20053r555939_fix

Edit /etc/snmp/snmpd.conf and add the SHA keyword for any create user statement without one. Restart the SNMP service. # service snmpd restart

b
The SNMP service must require the use of a FIPS 140-2 approved encryption algorithm for protecting the privacy of SNMP messages.
AC-17 - Medium - CCI-000068 - V-218581 - SV-218581r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000068
Version
GEN005307
Vuln IDs
  • V-218581
  • V-22449
Rule IDs
  • SV-218581r603259_rule
  • SV-63415
The SNMP service must use AES or a FIPS 140-2 approved successor algorithm for protecting the privacy of communications.
Checks: C-20056r555941_chk

Verify the SNMP daemon uses AES for SNMPv3 users. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # grep -v '^#' &lt;snmpd.conf file&gt; | grep -i createuser | grep -vi AES If any line is present this is a finding.

Fix: F-20054r555942_fix

Edit /etc/snmp/snmpd.conf and add the AES keyword for any create user statement without one. Restart the SNMP service. # service snmpd restart

b
The snmpd.conf file must have mode 0600 or less permissive.
AC-6 - Medium - CCI-000225 - V-218582 - SV-218582r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005320
Vuln IDs
  • V-218582
  • V-994
Rule IDs
  • SV-218582r603259_rule
  • SV-63425
The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification.
Checks: C-20057r555944_chk

Check the mode of the SNMP daemon configuration file. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # ls -lL &lt;snmpd.conf file&gt; If the snmpd.conf file has a mode more permissive than 0600, this is a finding.

Fix: F-20055r555945_fix

Change the mode of the SNMP daemon configuration file to 0600. Procedure: # chmod 0600 <snmpd.conf>

b
Management Information Base (MIB) files must have mode 0640 or less permissive.
CM-6 - Medium - CCI-000366 - V-218583 - SV-218583r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005340
Vuln IDs
  • V-218583
  • V-995
Rule IDs
  • SV-218583r603259_rule
  • SV-63429
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.
Checks: C-20058r555947_chk

Check the modes for all Management Information Base (MIB) files on the system. Procedure: # find / -name *.mib # ls -lL &lt;mib file&gt; Any file returned with a mode 0640 or less permissive is a finding.

Fix: F-20056r555948_fix

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

b
Management Information Base (MIB) files must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218584 - SV-218584r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005350
Vuln IDs
  • V-218584
  • V-22450
Rule IDs
  • SV-218584r603259_rule
  • SV-63437
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.
Checks: C-20059r555950_chk

Check the file permissions for the MIB files. # find / -name *.mib # ls -lL &lt;mib file&gt; If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20057r555951_fix

Remove the extended ACL from the file. # setfacl --remove-all <mib file>

b
The snmpd.conf file must be owned by root.
CM-6 - Medium - CCI-000366 - V-218585 - SV-218585r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005360
Vuln IDs
  • V-218585
  • V-12019
Rule IDs
  • SV-218585r603259_rule
  • SV-63443
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.
Checks: C-20060r555953_chk

Determine the owner of the SNMP configuration file. Procedure: Find the snmpd.conf file. The default install location is /etc/snmp/snmpd.conf but may be different depending on the SNMP agent installed. # find / -name snmpd.conf # ls -lL &lt;snmpd.conf&gt; If the snmpd.conf file is not owned by root, this is a finding.

Fix: F-20058r555954_fix

Change the owner of the snmpd.conf file to root. Procedure: # chown root <snmpd.conf file>

b
The snmpd.conf file must be group-owned by root, bin, sys, or system.
AC-6 - Medium - CCI-000225 - V-218586 - SV-218586r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005365
Vuln IDs
  • V-218586
  • V-22451
Rule IDs
  • SV-218586r603259_rule
  • SV-63461
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.
Checks: C-20061r555956_chk

Check the group ownership of the SNMP configuration file. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # ls -lL &lt;snmpd.conf&gt; If the file is not group-owned by root, bin, sys, or system, this is a finding.

Fix: F-20059r555957_fix

Change the group ownership of the SNMP configuration file. Procedure: # chgrp root <snmpd.conf>

b
The snmpd.conf file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-218587 - SV-218587r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005375
Vuln IDs
  • V-218587
  • V-22452
Rule IDs
  • SV-218587r603259_rule
  • SV-63463
The snmpd.conf file contains authenticators and must be protected from unauthorized access and modification.
Checks: C-20062r555959_chk

Check the permissions of the SNMP configuration file. Procedure: Examine the default install location /etc/snmp/snmpd.conf or: # find / -name snmpd.conf # ls -lL &lt;snmpd.conf&gt; If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20060r555960_fix

Remove the extended ACL from the file. # setfacl --remove-all <snmpd.conf file>

b
If the system is a Network Management System (NMS) server, it must only run the NMS and any software required by the NMS.
CM-7 - Medium - CCI-000381 - V-218588 - SV-218588r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN005380
Vuln IDs
  • V-218588
  • V-4392
Rule IDs
  • SV-218588r603259_rule
  • SV-63465
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.
Checks: C-20063r562816_chk

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: F-20061r562817_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.

b
The /etc/syslog.conf file must have mode 0640 or less permissive.
AC-6 - Medium - CCI-000225 - V-218589 - SV-218589r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005390
Vuln IDs
  • V-218589
  • V-22453
Rule IDs
  • SV-218589r603259_rule
  • SV-63467
Unauthorized users must not be allowed to access or modify the /etc/syslog.conf file.
Checks: C-20064r555965_chk

Check the permissions of the syslog configuration file. Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. # ls -lL /etc/syslog.conf Or: # ls -lL /etc/rsyslog.conf If the mode of the file is more permissive than 0640, this is a finding.

Fix: F-20062r555966_fix

Change the permissions of the syslog or rsyslog configuration file. # chmod 0640 /etc/syslog.conf Or: # chmod 0640 /etc/rsyslog.conf

b
The /etc/syslog.conf file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-218590 - SV-218590r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005395
Vuln IDs
  • V-218590
  • V-22454
Rule IDs
  • SV-218590r603259_rule
  • SV-63471
Unauthorized users must not be allowed to access or modify the /etc/syslog.conf file.
Checks: C-20065r555968_chk

Check the permissions of the syslog configuration file. Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. # ls -lL /etc/syslog.conf Or: # ls -lL /etc/rsyslog.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20063r555969_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/syslog.conf Or: # setfacl -- remove-all /etc/rsyslog.conf

b
The /etc/syslog.conf file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218591 - SV-218591r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005400
Vuln IDs
  • V-218591
  • V-4393
Rule IDs
  • SV-218591r603259_rule
  • SV-63473
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.
Checks: C-20066r555971_chk

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

Fix: F-20064r555972_fix

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

b
The /etc/syslog.conf file must be group-owned by root, bin, sys, or system.
CM-6 - Medium - CCI-000366 - V-218592 - SV-218592r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005420
Vuln IDs
  • V-218592
  • V-4394
Rule IDs
  • SV-218592r603259_rule
  • SV-65303
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.
Checks: C-20067r555974_chk

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

Fix: F-20065r555975_fix

Procedure: # chgrp root /etc/syslog.conf Or # chgrp root /etc/rsyslog.conf

b
The system must not be used as a syslog server (loghost) for systems external to the enclave.
CM-6 - Medium - CCI-000366 - V-218593 - SV-218593r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005440
Vuln IDs
  • V-218593
  • V-12020
Rule IDs
  • SV-218593r603259_rule
  • SV-63495
Syslog messages are typically unencrypted, may contain sensitive information, and are restricted to the enclave.
Checks: C-20068r555977_chk

Ask the SA if the loghost server is collecting data for hosts outside the local enclave. If it is, this is a finding.

Fix: F-20066r555978_fix

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

b
The system must use a remote syslog server (loghost).
AU-3 - Medium - CCI-000136 - V-218594 - SV-218594r603259_rule
RMF Control
AU-3
Severity
Medium
CCI
CCI-000136
Version
GEN005450
Vuln IDs
  • V-218594
  • V-22455
Rule IDs
  • SV-218594r603259_rule
  • SV-63501
A syslog server (loghost) receives syslog messages from one or more systems. This data can be used as an authoritative log source in the event a system is compromised and its local logs are suspect.
Checks: C-20069r562819_chk

Check the syslog configuration file for remote syslog servers. Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. # grep '@' /etc/syslog.conf | grep -v '^#' Or: # grep '@' /etc/rsyslog.conf | grep -v '^#' If no line is returned, this is a finding.

Fix: F-20067r562820_fix

Edit the syslog or rsyslog configuration file and add an appropriate remote syslog server.

b
The system must only use remote syslog servers (log hosts) that is justified and documented using site-defined procedures.
CM-6 - Medium - CCI-000366 - V-218595 - SV-218595r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005460
Vuln IDs
  • V-218595
  • V-4395
Rule IDs
  • SV-218595r603259_rule
  • SV-63507
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.
Checks: C-20070r562822_chk

Examine the syslog.conf or rsyslog.conf file for any references to remote log hosts. # grep -v "^#" /etc/syslog.conf | grep '@' Or: # grep -v "^#" /etc/rsyslog.conf | grep '@' Destination locations beginning with an '@' represent log hosts. If the log host name is a local alias such as "loghost", consult the /etc/hosts or other name databases as necessary to obtain the canonical name or address for the log host. Determine if the host referenced is a log host documented using site-defined procedures. If an undocumented log host is referenced, this is a finding.

Fix: F-20068r562823_fix

Remove or document the referenced undocumented log host.

b
The syslog daemon must not accept remote messages unless it is a syslog server documented using site-defined procedures.
CM-6 - Medium - CCI-000366 - V-218596 - SV-218596r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005480
Vuln IDs
  • V-218596
  • V-12021
Rule IDs
  • SV-218596r603259_rule
  • SV-63531
Unintentionally running a syslog server accepting remote messages puts the system at increased risk. Malicious syslog messages sent to the server could exploit vulnerabilities in the server software itself, could introduce misleading information in to the system's logs, or could fill the system's storage leading to a Denial of Service.
Checks: C-20071r562825_chk

Ask the SA if the system is an authorized syslog server. If the system is an authorized syslog server, this is not applicable. Determine if the system's syslog service is configured to accept remote messages. # ps -ef | grep syslogd If the '-r' option is present, the system is configured to accept remote syslog messages, and this is a finding.

Fix: F-20069r562826_fix

Edit /etc/sysconfig/syslog to removing the '-r' in SYSLOGD_OPTIONS. Restart the syslogd service.

c
The SSH daemon must be configured to only use the SSHv2 protocol.
IA-5 - High - CCI-000197 - V-218597 - SV-218597r603259_rule
RMF Control
IA-5
Severity
High
CCI
CCI-000197
Version
GEN005500
Vuln IDs
  • V-218597
  • V-4295
Rule IDs
  • SV-218597r603259_rule
  • SV-63543
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.
Checks: C-20072r562828_chk

Locate the sshd_config file: # more /etc/ssh/sshd_config Examine the file. 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 server is F-Secure, the variable name for SSH 1 compatibility is 'Ssh1Compatibility', not 'protocol'. If the variable 'Ssh1Compatiblity' is set to 'yes', then this is a finding.

Fix: F-20070r562829_fix

Edit the sshd_config file and set the "Protocol" setting to "2". If using the F-Secure SSH server, set the "Ssh1Compatibility" setting to "no". Restart the SSH daemon. # /sbin/service sshd restart

b
The SSH client must be configured to only use the SSHv2 protocol.
IA-5 - Medium - CCI-000197 - V-218598 - SV-218598r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000197
Version
GEN005501
Vuln IDs
  • V-218598
  • V-22456
Rule IDs
  • SV-218598r603259_rule
  • SV-63547
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.
Checks: C-20073r562831_chk

Check the SSH client configuration for allowed protocol versions. # grep -i protocol /etc/ssh/ssh_config | grep -v '^#' If the returned protocol configuration allows versions less than 2, this is a finding.

Fix: F-20071r562832_fix

Edit the /etc/ssh/ssh_config file and add or edit a "Protocol" configuration line not allowing versions less than 2.

b
The SSH daemon must only listen on management network addresses unless authorized for uses other than management.
AC-17 - Medium - CCI-000069 - V-218599 - SV-218599r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000069
Version
GEN005504
Vuln IDs
  • V-218599
  • V-22457
Rule IDs
  • SV-218599r603259_rule
  • SV-63553
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.
Checks: C-20074r562834_chk

Ask the SA to identify which interfaces on the system are designated for management traffic. If all interfaces on the system are authorized for management traffic, this is not applicable. 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: F-20072r562835_fix

Edit the SSH daemon configuration to specify listening network addresses designated for management traffic. Restart the SSH daemon. # /sbin/service sshd restart

b
The operating system must implement DoD-approved encryption to protect the confidentiality of SSH connections.
AC-17 - Medium - CCI-000068 - V-218600 - SV-218600r603337_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000068
Version
GEN005505
Vuln IDs
  • V-218600
  • V-22458
Rule IDs
  • SV-218600r603337_rule
  • SV-63561
DoD information systems are required to use FIPS 140-2 approved ciphers. SSHv2 ciphers meeting this requirement are 3DES and AES. By specifying a cipher list with the order of ciphers being in a “strongest to weakest” orientation, the system will automatically attempt to use the strongest cipher for securing SSH connections.
Checks: C-20075r603335_chk

Check the SSH daemon configuration for allowed ciphers. # grep -i ciphers /etc/ssh/sshd_config | grep -v '^#' Ciphers aes256-ctr,aes192-ctr,aes128-ctr If any ciphers other than "aes256-ctr", "aes192-ctr", or "aes128-ctr" are listed, the order differs from the example above, the "Ciphers" keyword is missing, or is commented out, this is a finding.

Fix: F-20073r603336_fix

Edit the SSH daemon configuration and remove any ciphers not starting with "aes" and remove any ciphers ending with "cbc". If necessary, add a "Ciphers" line. Ciphers aes256-ctr,aes192-ctr,aes128-ctr Restart the SSH daemon. # /sbin/service sshd restart

b
The SSH daemon must be configured to not use Cipher-Block Chaining (CBC) ciphers.
CM-6 - Medium - CCI-000366 - V-218601 - SV-218601r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005506
Vuln IDs
  • V-218601
  • V-22459
Rule IDs
  • SV-218601r603259_rule
  • SV-63567
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.
Checks: C-20076r556001_chk

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: F-20074r556002_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.

b
The SSH daemon must be configured to only use Message Authentication Codes (MACs) employing FIPS 140-2 approved cryptographic hash algorithms.
AC-17 - Medium - CCI-001453 - V-218602 - SV-218602r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
GEN005507
Vuln IDs
  • V-218602
  • V-22460
Rule IDs
  • SV-218602r603259_rule
  • SV-63587
DoD information systems are required to use FIPS 140-2 approved cryptographic hash functions.
Checks: C-20077r556004_chk

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 that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.

Fix: F-20075r556005_fix

Edit the SSH daemon configuration and remove any MACs that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line. Restart the SSH daemon. # /sbin/service sshd restart

b
The SSH client must be configured to only use FIPS 140-2 approved ciphers.
AC-17 - Medium - CCI-000068 - V-218603 - SV-218603r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000068
Version
GEN005510
Vuln IDs
  • V-218603
  • V-22461
Rule IDs
  • SV-218603r603259_rule
  • SV-63593
DoD information systems are required to use FIPS 140-2 approved ciphers. SSHv2 ciphers meeting this requirement are 3DES and AES.
Checks: C-20078r556007_chk

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 not starting with "3des" or "aes", this is a finding.

Fix: F-20076r556008_fix

Edit the SSH client configuration and remove any ciphers not starting with "3des" or "aes" and remove any ciphers ending with "cbc". If necessary, add a "Ciphers" line.

b
The SSH client must be configured to not use Cipher-Block Chaining (CBC)-based ciphers.
CM-6 - Medium - CCI-000366 - V-218604 - SV-218604r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005511
Vuln IDs
  • V-218604
  • V-22462
Rule IDs
  • SV-218604r603259_rule
  • SV-63595
The (CBC) mode of encryption as implemented in the SSHv2 protocol is vulnerable to chosen-plaintext attacks and must not be used.
Checks: C-20079r556010_chk

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: F-20077r556011_fix

Edit the SSH client configuration and remove any ciphers not starting with "3des" or "aes" and remove any ciphers ending with "cbc". If necessary, add a "Ciphers" line.

b
The SSH client must be configured to only use Message Authentication Codes (MACs) employing FIPS 140-2 approved cryptographic hash algorithms.
AC-17 - Medium - CCI-001453 - V-218605 - SV-218605r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
GEN005512
Vuln IDs
  • V-218605
  • V-22463
Rule IDs
  • SV-218605r603259_rule
  • SV-63669
DoD information systems are required to use FIPS 140-2 approved cryptographic hash functions.
Checks: C-20080r556013_chk

Check the SSH client configuration for allowed MACs. # grep -i macs /etc/ssh/ssh_config | grep -v '^#' If no lines are returned, or the returned MACs list contains any MAC that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.

Fix: F-20078r556014_fix

Edit the SSH client configuration and remove any MACs that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.

b
The SSH daemon must restrict login ability to specific users and/or groups.
CM-6 - Medium - CCI-000366 - V-218606 - SV-218606r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005521
Vuln IDs
  • V-218606
  • V-22470
Rule IDs
  • SV-218606r603259_rule
  • SV-63727
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.
Checks: C-20081r556016_chk

There are two ways in which access to SSH may restrict users or groups. Check if /etc/pam.d/sshd is configured to require daemon style login control. # grep pam_access.so /etc/pam.d/sshd|grep "required"|grep "account"| grep -v '^#' If no lines are returned, sshd is not configured to use pam_access. Check the SSH daemon configuration for the AllowGroups setting. # egrep -i "AllowGroups|AllowUsers" /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, sshd is not configured to limit access to users/groups. If sshd is not configured to limit access either through pam_access or the use "AllowUsers" or "AllowGroups", this is a finding.

Fix: F-20079r556017_fix

Edit the SSH daemon configuration and add an "AllowGroups" or "AllowUsers" directive specifying the groups and users allowed to have access. Restart the SSH daemon. # /sbin/service sshd restart Alternatively, modify the /etc/pam.d/sshd file to include the line account required pam_access.so accessfile=<path to access.conf for sshd> If the "accessfile" option is not specified the default "access.conf" file will be used. The "access.conf" file must contain the user restriction definitions.

b
The SSH public host key files must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218607 - SV-218607r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005522
Vuln IDs
  • V-218607
  • V-22471
Rule IDs
  • SV-218607r603259_rule
  • SV-63841
If a public host key file is modified by an unauthorized user, the SSH service may be compromised.
Checks: C-20082r556019_chk

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: F-20080r556020_fix

Change the permissions for the SSH public host key files. # chmod 0644 /etc/ssh/*key.pub

b
The SSH private host key files must have mode 0600 or less permissive.
AC-6 - Medium - CCI-000225 - V-218608 - SV-218608r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005523
Vuln IDs
  • V-218608
  • V-22472
Rule IDs
  • SV-218608r603259_rule
  • SV-63863
If an unauthorized user obtains the private SSH host key file, the host could be impersonated.
Checks: C-20083r562837_chk

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: F-20081r562838_fix

Change the permissions for the SSH private host key files. # chmod 0600 /etc/ssh/*key

a
The SSH daemon must not permit GSSAPI authentication unless needed.
CM-6 - Low - CCI-000366 - V-218609 - SV-218609r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN005524
Vuln IDs
  • V-218609
  • V-22473
Rule IDs
  • SV-218609r603259_rule
  • SV-63877
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.
Checks: C-20084r562840_chk

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 GSSAPIAuthentication setting. # grep -i GSSAPIAuthentication /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the setting is set to "yes", this is a finding.

Fix: F-20082r562841_fix

Edit the SSH daemon configuration and set (add if necessary) a "GSSAPIAuthentication" directive set to "no". Restart the SSH daemon. # /sbin/service sshd restart

a
The SSH client must not permit GSSAPI authentication unless needed.
CM-6 - Low - CCI-000366 - V-218610 - SV-218610r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN005525
Vuln IDs
  • V-218610
  • V-22474
Rule IDs
  • SV-218610r603259_rule
  • SV-63953
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.
Checks: C-20085r562843_chk

The default setting for GSSAPIAuthentication is "no". Check for a change from the default. # grep -i GSSAPIAuthentication /etc/ssh/ssh_config | grep -v '^#' If the setting is "yes" this is a finding.

Fix: F-20083r562844_fix

Edit the SSH client configuration and set the GSSAPIAuthentication" directive set to "no".

a
The SSH daemon must not permit Kerberos authentication unless needed.
CM-6 - Low - CCI-000366 - V-218611 - SV-218611r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN005526
Vuln IDs
  • V-218611
  • V-22475
Rule IDs
  • SV-218611r603259_rule
  • SV-64033
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.
Checks: C-20086r562846_chk

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 KerberosAuthentication setting. # grep -i KerberosAuthentication /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the setting is set to "yes", this is a finding.

Fix: F-20084r562847_fix

Edit the SSH daemon configuration and set (add if necessary) the "KerberosAuthentication" directive set to "no". Restart the SSH daemon. # /sbin/service sshd restart

b
The SSH daemon must not allow host-based authentication.
IA-2 - Medium - CCI-000766 - V-218612 - SV-218612r603259_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000766
Version
GEN005527
Vuln IDs
  • V-218612
  • V-58537
Rule IDs
  • SV-218612r603259_rule
  • SV-75259
SSH trust relationships mean a compromise on one host can allow an attacker to move trivially to other hosts.
Checks: C-20087r556034_chk

To determine how the SSH daemon's "HostbasedAuthentication" option is set, run the following command: # grep -i HostbasedAuthentication /etc/ssh/sshd_config If no line, a commented line, or a line indicating the value "no" is returned, then the required value is set. If the required value is not set, this is a finding.

Fix: F-20085r556035_fix

SSH's cryptographic host-based authentication is more secure than ".rhosts" authentication since hosts are cryptographically authenticated. However, it is not recommended that hosts unilaterally trust one another, even within an organization. To disable host-based authentication, add or correct the following line in "/etc/ssh/sshd_config": HostbasedAuthentication no

b
The SSH daemon must perform strict mode checking of home directory configuration files.
CM-6 - Medium - CCI-000366 - V-218613 - SV-218613r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005536
Vuln IDs
  • V-218613
  • V-22485
Rule IDs
  • SV-218613r603259_rule
  • SV-64067
If other users have access to modify user-specific SSH configuration files, they may be able to log into the system as another user.
Checks: C-20088r556037_chk

Check the SSH daemon configuration for the StrictModes setting. # grep -i StrictModes /etc/ssh/sshd_config | grep -v '^#' If the setting is not present, or not set to "yes", this is a finding.

Fix: F-20086r556038_fix

Edit the SSH daemon configuration and add or edit the "StrictModes" setting value to "yes". Restart the SSH daemon. # /sbin/service sshd restart

b
The SSH daemon must use privilege separation.
AC-6 - Medium - CCI-000225 - V-218614 - SV-218614r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005537
Vuln IDs
  • V-218614
  • V-22486
Rule IDs
  • SV-218614r603259_rule
  • SV-64073
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.
Checks: C-20089r556040_chk

Check the SSH daemon configuration for the UsePrivilegeSeparation setting. # grep -i UsePrivilegeSeparation /etc/ssh/sshd_config | grep -v '^#' If the setting is not present, or not set to "yes", this is a finding.

Fix: F-20087r556041_fix

Edit the SSH daemon configuration and add or edit the "UsePrivilegeSeparation" setting value to "yes". Restart the SSH daemon. # /sbin/service sshd restart

b
The SSH daemon must not allow rhosts RSA authentication.
CM-6 - Medium - CCI-000366 - V-218615 - SV-218615r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005538
Vuln IDs
  • V-218615
  • V-22487
Rule IDs
  • SV-218615r603259_rule
  • SV-64081
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.
Checks: C-20090r556043_chk

Check the SSH daemon configuration for the RhostsRSAAuthentication setting. # grep -i RhostsRSAAuthentication /etc/ssh/sshd_config | grep -v '^#' If the setting is set to "yes", this is a finding.

Fix: F-20088r556044_fix

Edit the SSH daemon configuration and add or edit the "RhostsRSAAuthentication" setting value to "no". Restart the SSH daemon. # /sbin/service sshd restart

b
The SSH daemon must not allow compression or must only allow compression after successful authentication.
CM-6 - Medium - CCI-000366 - V-218616 - SV-218616r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005539
Vuln IDs
  • V-218616
  • V-22488
Rule IDs
  • SV-218616r603259_rule
  • SV-64089
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.
Checks: C-20091r556046_chk

Check the SSH daemon configuration for the compression setting. # grep -i Compression /etc/ssh/sshd_config | egrep "no|delayed" If the setting is missing or is commented out, this is a finding. If the setting is present but is not set to "no" or "delayed", this is a finding.

Fix: F-20089r556047_fix

Edit the SSH daemon configuration and add or edit the "Compression" setting value to "no" or "delayed". Restart the SSH daemon. # /sbin/service sshd restart

b
The SSH daemon must be configured for IP filtering.
CM-6 - Medium - CCI-000366 - V-218617 - SV-218617r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005540
Vuln IDs
  • V-218617
  • V-12022
Rule IDs
  • SV-218617r603259_rule
  • SV-64101
The SSH daemon must be configured for IP filtering to provide a layered defense against connection attempts from unauthorized addresses.
Checks: C-20092r556049_chk

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

Fix: F-20090r556050_fix

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

b
The SSH daemon must be configured with the Department of Defense (DoD) logon banner.
AC-8 - Medium - CCI-000048 - V-218618 - SV-218618r603259_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
GEN005550
Vuln IDs
  • V-218618
  • V-22489
Rule IDs
  • SV-218618r603259_rule
  • SV-64103
Failure to display the DoD logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources. The SSH service must be configured to display the DoD logon warning banner either through the SSH configuration or a wrapper program such as TCP_WRAPPERS. The SSH daemon may also be used to provide SFTP service. The warning banner configuration for SSH will apply to SFTP.
Checks: C-20093r562849_chk

Verify the SSH daemon is configured for logon warning banners. Procedure: An exact match is required to have a valid warning banner. Check for the following login banner. 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 &amp; consent to terms in IS user agreem't.

Fix: F-20091r562850_fix

Edit /etc/issue and the DoD login 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. Find the location of the banner file for sshd and examine the content: # grep -i banner /etc/ssh/sshd_config | grep -v '^#' # cat Edit the SSH daemon configuration and add or edit a "Banner" setting referencing a file containing a logon warning banner. Restart the SSH daemon. # /sbin/service sshd restart

b
The system must be configured with a default gateway for IPv4 if the system uses IPv4, unless the system is a router.
CM-6 - Medium - CCI-000366 - V-218619 - SV-218619r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005560
Vuln IDs
  • V-218619
  • V-4397
Rule IDs
  • SV-218619r603259_rule
  • SV-64105
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.
Checks: C-20094r556055_chk

Check the system for an IPv4 default route. If the system is a VM host and acts as a router solely for the benefit of its client systems, then this rule is not applicable. Procedure: # netstat -r |grep default If a default route is not defined, this is a finding.

Fix: F-20092r556056_fix

Set a default gateway for IPv4.

b
The system must be configured with a default gateway for IPv6 if the system uses IPv6, unless the system is a router.
CM-6 - Medium - CCI-000366 - V-218620 - SV-218620r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005570
Vuln IDs
  • V-218620
  • V-22490
Rule IDs
  • SV-218620r603259_rule
  • SV-64107
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.
Checks: C-20095r556058_chk

Check for a default route for IPv6. If the system is a VM host and acts as a router solely for the benefit of its client systems, then this rule is not applicable. # ip -6 route list | grep default If the system uses IPv6, and no results are returned, this is a finding.

Fix: F-20093r556059_fix

Add a default route for IPv6. Edit /etc/sysconfig/network-scripts/ifcfg-eth0 (substitute interface as appropriate). Add an IPV6_DEFAULTGW=<gateway> configuration setting. Restart the interface. # ifdown eth0; ifup eth0

b
A system used for routing must not run other network services or applications.
CM-7 - Medium - CCI-000381 - V-218621 - SV-218621r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN005580
Vuln IDs
  • V-218621
  • V-4398
Rule IDs
  • SV-218621r603259_rule
  • SV-64109
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.
Checks: C-20096r562852_chk

If the system is a VM host and acts as a router solely for the benefit of its client systems, then this rule is not applicable. Check to see if the system is a router: # chkconfig --list | grep :on | egrep '(ospf|route|bgp|zebra|quagga)' If the system is running a routing service, it is a 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: F-20094r562853_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.

b
The system must not be running any routing protocol daemons, unless the system is a router.
CM-6 - Medium - CCI-000366 - V-218622 - SV-218622r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005590
Vuln IDs
  • V-218622
  • V-22665
Rule IDs
  • SV-218622r603259_rule
  • SV-64111
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.
Checks: C-20097r556064_chk

Check for any running routing protocol daemons. If the system is a VM host and acts as a router solely for the benefits of its client systems, then this rule is not applicable. # chkconfig --list |grep :on|egrep '(ospf|route|bgp|zebra|quagga)' If any routing protocol daemons are listed, this is a finding.

Fix: F-20095r556065_fix

Disable any routing protocol daemons.

b
IP forwarding for IPv4 must not be enabled, unless the system is a router.
CM-6 - Medium - CCI-000366 - V-218623 - SV-218623r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005600
Vuln IDs
  • V-218623
  • V-12023
Rule IDs
  • SV-218623r603259_rule
  • SV-64113
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.
Checks: C-20098r556067_chk

Check if the system is configured for IPv4 forwarding. If the system is a VM host and acts as a router solely for the benefits of its client systems, then this rule is not applicable. Procedure: # cat /proc/sys/net/ipv4/ip_forward If the value is set to "1", IPv4 forwarding is enabled this is a finding.

Fix: F-20096r556068_fix

Edit "/etc/sysctl.conf" and set net.ipv4.ip_forward to "0". Restart the system or run "sysctl -p" to make the change take effect.

b
The system must not have IP forwarding for IPv6 enabled, unless the system is an IPv6 router.
CM-6 - Medium - CCI-000366 - V-218624 - SV-218624r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005610
Vuln IDs
  • V-218624
  • V-22491
Rule IDs
  • SV-218624r603259_rule
  • SV-64245
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.
Checks: C-20099r556070_chk

Check if the system is configured for IPv6 forwarding. # grep [01] /proc/sys/net/ipv6/conf/*/forwarding|egrep "default|all" If the /proc/sys/net/ipv6/conf/*/forwarding entries do not exist because of compliance with GEN007720, this is not a finding. If all of the resulting lines do not end with 0, this is a finding.

Fix: F-20097r556071_fix

Disable IPv6 forwarding. Edit /etc/sysctl.conf and add a setting for "net.ipv6.conf.all.forwarding=0" and "net.ipv6.conf.default.forwarding=0". Reload the sysctls. Procedure: # sysctl -p

b
The Network File System (NFS) export configuration file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218625 - SV-218625r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005740
Vuln IDs
  • V-218625
  • V-928
Rule IDs
  • SV-218625r603259_rule
  • SV-64237
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.
Checks: C-20100r562855_chk

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: F-20098r562856_fix

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

b
The Network File System (NFS) export configuration file must be group-owned by root, bin, sys, or system.
AC-6 - Medium - CCI-000225 - V-218626 - SV-218626r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005750
Vuln IDs
  • V-218626
  • V-22492
Rule IDs
  • SV-218626r603259_rule
  • SV-64211
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.
Checks: C-20101r562858_chk

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: F-20099r562859_fix

Change the group ownership of the NFS export configuration file. Procedure: # chgrp root /etc/exports

a
The Network File System (NFS) export configuration file must have mode 0644 or less permissive.
AC-6 - Low - CCI-000225 - V-218627 - SV-218627r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN005760
Vuln IDs
  • V-218627
  • V-929
Rule IDs
  • SV-218627r603259_rule
  • SV-64199
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.
Checks: C-20102r562861_chk

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

Fix: F-20100r562862_fix

# chmod 0644 /etc/exports

a
The Network File System (NFS) exports configuration file must not have an extended ACL.
AC-6 - Low - CCI-000225 - V-218628 - SV-218628r603259_rule
RMF Control
AC-6
Severity
Low
CCI
CCI-000225
Version
GEN005770
Vuln IDs
  • V-218628
  • V-22493
Rule IDs
  • SV-218628r603259_rule
  • SV-64191
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.
Checks: C-20103r562864_chk

Check the permissions of the NFS export configuration file. # ls -lL /etc/exports If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20101r562865_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/exports

b
All Network File System (NFS) exported system files and system directories must be owned by root.
AC-6 - Medium - CCI-000225 - V-218629 - SV-218629r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005800
Vuln IDs
  • V-218629
  • V-931
Rule IDs
  • SV-218629r603259_rule
  • SV-64189
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.
Checks: C-20104r562867_chk

Check for NFS exported file systems. Procedure: # cat /etc/exports For each file system displayed, check the ownership. # ls -lLa &lt;exported file system path&gt; If the files and directories are not owned by root, this is a finding.

Fix: F-20102r562868_fix

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

b
All Network File System (NFS) exported system files and system directories must be group-owned by root, bin, sys, or system.
AC-6 - Medium - CCI-000225 - V-218630 - SV-218630r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005810
Vuln IDs
  • V-218630
  • V-22496
Rule IDs
  • SV-218630r603259_rule
  • SV-64181
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.
Checks: C-20105r562870_chk

List the exports. # cat /etc/exports For each file system displayed, check the ownership. # ls -ldL &lt;exported file system path&gt; If the directory is not group-owned by root, bin, sys, or system, this is a finding.

Fix: F-20103r562871_fix

Change the group owner of the export directory. # chgrp root <export>

b
The Network File System (NFS) anonymous UID and GID must be configured to values without permissions.
AC-14 - Medium - CCI-000062 - V-218631 - SV-218631r603259_rule
RMF Control
AC-14
Severity
Medium
CCI
CCI-000062
Version
GEN005820
Vuln IDs
  • V-218631
  • V-932
Rule IDs
  • SV-218631r603259_rule
  • SV-64169
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.
Checks: C-20106r562873_chk

Check if the 'anonuid' and 'anongid' options are set correctly for exported file systems. List exported filesystems: # exportfs -v Each of the exported file systems should include an entry for the 'anonuid=' and 'anongid=' options set to "-1" or an equivalent (60001, 65534, or 65535). If appropriate values for 'anonuid' or 'anongid' are not set, this is a finding.

Fix: F-20104r562874_fix

Edit "/etc/exports" and set the "anonuid=-1" and "anongid=-1" options for exports lacking it. Re-export the filesystems.

b
The Network File System (NFS) server must be configured to restrict file system access to local hosts.
CM-6 - Medium - CCI-000366 - V-218632 - SV-218632r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005840
Vuln IDs
  • V-218632
  • V-933
Rule IDs
  • SV-218632r603259_rule
  • SV-64163
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.
Checks: C-20107r556094_chk

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: F-20105r556095_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.

b
The Network File System (NFS) server must not allow remote root access.
AC-6 - Medium - CCI-000225 - V-218633 - SV-218633r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005880
Vuln IDs
  • V-218633
  • V-935
Rule IDs
  • SV-218633r603259_rule
  • SV-64157
If the NFS server allows root access to local file systems from remote hosts, this access could be used to compromise the system.
Checks: C-20108r562876_chk

List the exports. # cat /etc/exports If any export contains "no_root_squash" or does not contain "root_squash" or "all_squash", this is a finding.

Fix: F-20106r562877_fix

Edit the "/etc/exports" file and add "root_squash" (or "all_squash") and remove "no_root_squash".

b
The nosuid option must be enabled on all Network File System (NFS) client mounts.
AC-6 - Medium - CCI-000225 - V-218634 - SV-218634r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN005900
Vuln IDs
  • V-218634
  • V-936
Rule IDs
  • SV-218634r603259_rule
  • SV-64147
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.
Checks: C-20109r562879_chk

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

Fix: F-20107r562880_fix

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

b
The system must not have a public Instant Messaging (IM) client installed.
CM-6 - Medium - CCI-000366 - V-218635 - SV-218635r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006000
Vuln IDs
  • V-218635
  • V-12024
Rule IDs
  • SV-218635r603259_rule
  • SV-64137
Public (IM) systems are not approved for use and may result in the unauthorized distribution of information. IM clients provide a way for a user to send a message to one or more other users in real time. Additional capabilities may include file transfer and support for distributed game playing. Communication between clients and associated directory services are managed through messaging servers. Commercial IM clients include AOL Instant Messenger (AIM), MSN Messenger, and Yahoo! Messenger. IM clients present a security issue when the clients route messages through public servers. The obvious implication is potentially sensitive information could be intercepted or altered in the course of transmission. This same issue is associated with the use of public e-mail servers. In order to reduce the potential for disclosure of sensitive Government information and to ensure the validity of official government information, IM clients connecting to public IM services will not be installed. Clients use to access internal or DoD-controlled IM services are permitted.
Checks: C-20110r562882_chk

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: F-20108r562883_fix

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

b
The system must not have any peer-to-peer file-sharing application installed.
CM-7 - Medium - CCI-000381 - V-218636 - SV-218636r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN006040
Vuln IDs
  • V-218636
  • V-12025
Rule IDs
  • SV-218636r603259_rule
  • SV-64127
Peer-to-peer file-sharing software can result in the unintentional exfiltration of information. There are also many legal issues associated with these types of utilities including copyright infringement or other intellectual property issues. The ASD Memo "Use of Peer-to-Peer (P2P) File-Sharing Applications across the DoD" states the following: “P2P file-sharing applications are authorized for use on DOD networks with approval by the appropriate Designated Approval Authority (DAA). Documented requirements, security architecture, configuration management process, and a training program for users are all requirements within the approval process. The unauthorized use of application or services, including P2P applications, is prohibited, and such applications or services must be eliminated.” P2P applications include, but are not limited to, the following: -Napster -Kazaa -ARES -Limewire -IRC Chat Relay -BitTorrent
Checks: C-20111r562885_chk

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

Fix: F-20109r562886_fix

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

b
The system must not run Samba unless needed.
AC-17 - Medium - CCI-001436 - V-218637 - SV-218637r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001436
Version
GEN006060
Vuln IDs
  • V-218637
  • V-4321
Rule IDs
  • SV-218637r603259_rule
  • SV-64125
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.
Checks: C-20112r562888_chk

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: F-20110r562889_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 samba package should also be removed or not installed if there is no functional requirement. Procedure: rpm -qa |grep samba This will show whether "samba" or "samba3x" is installed. To remove: rpm --erase samba or rpm --erase samba3x

b
The Samba Web Administration Tool (SWAT) must be restricted to the local host or require SSL.
CM-7 - Medium - CCI-000381 - V-218638 - SV-218638r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN006080
Vuln IDs
  • V-218638
  • V-1026
Rule IDs
  • SV-218638r603259_rule
  • SV-64123
SWAT is a tool used to configure Samba. It modifies Samba configuration, which can impact system security, and 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.
Checks: C-20113r562891_chk

SWAT is a tool for configuring Samba and should only be found on a system with a requirement for Samba. If SWAT is used, it must be utilized with SSL to ensure a secure connection between the client and the server. Procedure: # grep -H "bin/swat" /etc/xinetd.d/*|cut -d: -f1 |xargs grep "only_from" If the value of the "only_from" line in the "xinetd.d" file which starts "/usr/sbin/swat" is not "localhost" or the equivalent, this is a finding.

Fix: F-20111r562892_fix

Disable SWAT or require SWAT is only accessed via SSH. Procedure: If SWAT is not needed for operation of the system remove the SWAT package: # rpm -qa|grep swat Remove "samba-swat" or "samba3x-swat" depending on which one is installed # rpm --erase samba-swat or # rpm --erase samba3x-swat If SWAT is required but not at all times disable it when it is not needed. Modify the /etc/xinetd.d file for "swat" to contain a "disable = yes" line. To access using SSH: Follow vendor configuration documentation to create an stunnel for SWAT.

b
The /etc/smb.conf file must be owned by root.
CM-6 - Medium - CCI-000366 - V-218639 - SV-218639r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006100
Vuln IDs
  • V-218639
  • V-1027
Rule IDs
  • SV-218639r603259_rule
  • SV-64095
The /etc/smb.conf file allows access to other machines on the network and grants permissions to certain users. If it is owned by another user, the file may be maliciously modified and the Samba configuration could be compromised.
Checks: C-20114r556115_chk

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

Fix: F-20112r556116_fix

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

b
The /etc/smb.conf file must be group-owned by root, bin, sys, or system.
AC-6 - Medium - CCI-000225 - V-218640 - SV-218640r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN006120
Vuln IDs
  • V-218640
  • V-1056
Rule IDs
  • SV-218640r603259_rule
  • SV-64093
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.
Checks: C-20115r556118_chk

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

Fix: F-20113r556119_fix

Change the group owner of the smb.conf file. Procedure: # chgrp root smb.conf

b
The /etc/smb.conf file must have mode 0644 or less permissive.
CM-6 - Medium - CCI-000366 - V-218641 - SV-218641r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006140
Vuln IDs
  • V-218641
  • V-1028
Rule IDs
  • SV-218641r603259_rule
  • SV-64087
If the "smb.conf" file has excessive permissions, the file may be maliciously modified and the Samba configuration could be compromised.
Checks: C-20116r556121_chk

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

Fix: F-20114r556122_fix

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

b
The /etc/smb.conf file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218642 - SV-218642r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN006150
Vuln IDs
  • V-218642
  • V-22497
Rule IDs
  • SV-218642r603259_rule
  • SV-64085
Excessive permissions could endanger the security of the Samba configuration file and, ultimately, the system and network.
Checks: C-20117r556124_chk

Check the permissions of the Samba configuration file. # ls -lL /etc/samba/smb.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20115r556125_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/samba/smb.conf

b
The /etc/smbpasswd file must be owned by root.
CM-6 - Medium - CCI-000366 - V-218643 - SV-218643r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006160
Vuln IDs
  • V-218643
  • V-1029
Rule IDs
  • SV-218643r603259_rule
  • SV-64077
If the "smbpasswd" file is not owned by root, it may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.
Checks: C-20118r556127_chk

Check the ownership of the "smbpasswd" file. # ls -l /etc/samba/passdb.tdb /etc/samba/secrets.tdb If the "smbpasswd" file is not owned by root, this is a finding.

Fix: F-20116r556128_fix

Use the chown command to configure the files maintained by smbpasswd. For instance: # chown root /etc/samba/passdb.tdb /etc/samba/secrets.tdb

b
The smbpasswd file must be group-owned by root.
AC-6 - Medium - CCI-000225 - V-218644 - SV-218644r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN006180
Vuln IDs
  • V-218644
  • V-1058
Rule IDs
  • SV-218644r603259_rule
  • SV-64069
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.
Checks: C-20119r556130_chk

Check "smbpasswd" ownership: # ls -lL /etc/samba/passdb.tdb /etc/samba/secrets.tdb If the "smbpasswd" file is not group-owned by root, this is a finding.

Fix: F-20117r556131_fix

Use the chgrp command to ensure that the group owner of the smbpasswd file is root. For instance: # chgrp root /etc/samba/passdb.tdb /etc/samba/secrets.tdb

b
The smbpasswd file must have mode 0600 or less permissive.
CM-6 - Medium - CCI-000366 - V-218645 - SV-218645r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006200
Vuln IDs
  • V-218645
  • V-1059
Rule IDs
  • SV-218645r603259_rule
  • SV-64063
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.
Checks: C-20120r556133_chk

Check the mode of files maintained using "smbpasswd". Procedure: # ls -lL /etc/samba/passdb.tdb /etc/samba/secrets.tdb If a "smbpasswd" maintained file has a mode more permissive than 0600, this is a finding.

Fix: F-20118r556134_fix

Change the mode of the files maintained through smbpasswd to 0600. Procedure: # chmod 0600 /etc/samba/passdb.tdb /etc/samba/secrets.tdb

b
The /etc/smbpasswd file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218646 - SV-218646r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN006210
Vuln IDs
  • V-218646
  • V-22498
Rule IDs
  • SV-218646r603259_rule
  • SV-64061
If the permissions of the "smbpasswd" file are too permissive, it may be maliciously accessed or modified, potentially resulting in the compromise of Samba accounts.
Checks: C-20121r556136_chk

Check the permissions of the Samba password files. Procedure: # ls -lL /etc/samba/passdb.tdb /etc/samba/secrets.tdb If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20119r556137_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/samba/passdb.tdb /etc/samba/secrets.tdb

b
The smb.conf file must use the hosts option to restrict access to Samba.
CM-6 - Medium - CCI-000366 - V-218647 - SV-218647r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006220
Vuln IDs
  • V-218647
  • V-1030
Rule IDs
  • SV-218647r603259_rule
  • SV-64055
Samba increases the attack surface of the system and must be restricted to communicate only with systems requiring access.
Checks: C-20122r556139_chk

Examine the "smb.conf" file. # more /etc/samba/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: F-20120r556140_fix

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

b
Samba must be configured to use an authentication mechanism other than share.
CM-6 - Medium - CCI-000366 - V-218648 - SV-218648r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006225
Vuln IDs
  • V-218648
  • V-22499
Rule IDs
  • SV-218648r603259_rule
  • SV-64049
Samba share authentication does not provide for individual user identification and must not be used.
Checks: C-20123r556142_chk

Check the security mode of the Samba configuration. # grep -i security /etc/samba/smb.conf If the security mode is "share", this is a finding.

Fix: F-20121r556143_fix

Edit the "/etc/samba/smb.conf" file and change the "security" setting to "user" or another valid setting other than "share".

b
Samba must be configured to use encrypted passwords.
CM-6 - Medium - CCI-000366 - V-218649 - SV-218649r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006230
Vuln IDs
  • V-218649
  • V-22500
Rule IDs
  • SV-218649r603259_rule
  • SV-64041
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.
Checks: C-20124r556145_chk

If the "samba-common" package is not installed, this is not applicable. Check the encryption setting of Samba. # grep -i 'encrypt passwords' /etc/samba/smb.conf If the setting is not present, or not set to 'yes', this is a finding.

Fix: F-20122r556146_fix

Edit the "/etc/samba/smb.conf" file and change the "encrypt passwords" setting to "yes".

b
Samba must be configured to not allow guest access to shares.
CM-6 - Medium - CCI-000366 - V-218650 - SV-218650r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006235
Vuln IDs
  • V-218650
  • V-22501
Rule IDs
  • SV-218650r603259_rule
  • SV-64013
Guest access to shares permits anonymous access and is not permitted.
Checks: C-20125r556148_chk

Check the access to shares for Samba. # grep -i 'guest ok' /etc/samba/smb.conf If the setting exists and is set to 'yes', this is a finding.

Fix: F-20123r556149_fix

Edit the "/etc/samba/smb.conf" file and change the "guest ok" setting to "no".

b
The system must not run an Internet Network News (INN) server.
CM-7 - Medium - CCI-000381 - V-218651 - SV-218651r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN006240
Vuln IDs
  • V-218651
  • V-1023
Rule IDs
  • SV-218651r603259_rule
  • SV-63965
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.
Checks: C-20126r562894_chk

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

Fix: F-20124r562895_fix

Disable the INN server.

b
The /etc/news/incoming.conf (or equivalent) must have mode 0600 or less permissive.
CM-6 - Medium - CCI-000366 - V-218652 - SV-218652r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006260
Vuln IDs
  • V-218652
  • V-4273
Rule IDs
  • SV-218652r603259_rule
  • SV-63947
Excessive permissions on the "incoming.conf" file may allow unauthorized modification which could lead to Denial-of-Service to authorized users or provide access to unauthorized users.
Checks: C-20127r556154_chk

The file corresponding to "/etc/news/hosts.nntp" is "/etc/news/incoming.conf". Check the permissions for "/etc/news/incoming.conf". # ls -lL /etc/news/incoming.conf If "/etc/news/incoming.conf" has a mode more permissive than 0600, this is a finding.

Fix: F-20125r556155_fix

Change the mode of the "/etc/news/incoming.conf" file to 0600. # chmod 0600 /etc/news/incoming.conf

b
The /etc/news/incoming.conf file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218653 - SV-218653r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN006270
Vuln IDs
  • V-218653
  • V-22502
Rule IDs
  • SV-218653r603259_rule
  • SV-63925
File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. Excessive permissions on the "incoming.conf" file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.
Checks: C-20128r562897_chk

Check the permissions of the file. # ls -lL /etc/news/incoming.conf If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20126r562898_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/news/incoming.conf

b
The /etc/news/infeed.conf (or equivalent) must have mode 0600 or less permissive.
CM-6 - Medium - CCI-000366 - V-218654 - SV-218654r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006280
Vuln IDs
  • V-218654
  • V-4274
Rule IDs
  • SV-218654r603259_rule
  • SV-63921
Excessive permissions on the "" file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.
Checks: C-20129r556160_chk

The file that corresponds to "/etc/news/hosts.nntp.nolimit" is "/etc/news/infeed.conf". Check the permissions for "/etc/news/infeed.conf". # ls -lL /etc/news/infeed.conf If "/etc/news/infeed.conf" has a mode more permissive than 0600, this is a finding.

Fix: F-20127r556161_fix

Change the mode of "/etc/news/infeed.conf" to 0600. # chmod 0600 /etc/news/infeed.conf

b
The /etc/news/hosts.nntp.nolimit file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218655 - SV-218655r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN006290
Vuln IDs
  • V-218655
  • V-22503
Rule IDs
  • SV-218655r603259_rule
  • SV-63915
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.
Checks: C-20130r562900_chk

Check the permissions for "/etc/news/hosts.nntp.nolimit". # ls -lL /etc/news/hosts.nntp.nolimit If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20128r562901_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/news/hosts.nntp.nolimit

b
The /etc/news/readers.conf (or equivalent) must have mode 0600 or less permissive.
CM-6 - Medium - CCI-000366 - V-218656 - SV-218656r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006300
Vuln IDs
  • V-218656
  • V-4275
Rule IDs
  • SV-218656r603259_rule
  • SV-63909
Excessive permissions on the readers.conf file may allow unauthorized modification which could lead to Denial of Service to authorized users or provide access to unauthorized users.
Checks: C-20131r556166_chk

Check the permissions for "/etc/news/readers.conf". # ls -lL /etc/news/readers.conf If /etc/news/readers.conf has a mode more permissive than 0600, this is a finding.

Fix: F-20129r556167_fix

Change the mode of the /etc/news/readers.conf file to 0600. # chmod 0600 /etc/news/readers.conf

b
The /etc/news/nnrp.access file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218657 - SV-218657r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN006310
Vuln IDs
  • V-218657
  • V-22504
Rule IDs
  • SV-218657r603259_rule
  • SV-63901
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.
Checks: C-20132r562903_chk

Check the permissions of the file. # ls -lL /etc/news/nnrp.access If the permissions include a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20130r562904_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/news/nnrp.access

b
The /etc/news/passwd.nntp file (or equivalent) must have mode 0600 or less permissive.
CM-6 - Medium - CCI-000366 - V-218658 - SV-218658r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006320
Vuln IDs
  • V-218658
  • V-4276
Rule IDs
  • SV-218658r603259_rule
  • SV-63899
File permissions more permissive than 0600 for "/etc/news/passwd.nntp" may allow access to privileged information by system intruders or malicious users.
Checks: C-20133r556172_chk

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

Fix: F-20131r556173_fix

Change the mode of the "/etc/news/passwd.nntp" file. # chmod 0600 /etc/news/passwd.nntp

b
The /etc/news/passwd.nntp file must not have an extended ACL.
AC-6 - Medium - CCI-000225 - V-218659 - SV-218659r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN006330
Vuln IDs
  • V-218659
  • V-22505
Rule IDs
  • SV-218659r603259_rule
  • SV-63835
Extended ACLs may provide excessive permissions on the /etc/news/passwd.nntp file, which may permit unauthorized access or modification to the NNTP configuration.
Checks: C-20134r556175_chk

Check the permissions of the file. # ls -lL /etc/news/passwd.nntp If the mode includes a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20132r556176_fix

Remove the extended ACL from the file. # setfacl --remove-all /etc/news/passwd.nntp

b
Files in /etc/news must be owned by root or news.
CM-6 - Medium - CCI-000366 - V-218660 - SV-218660r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006340
Vuln IDs
  • V-218660
  • V-4277
Rule IDs
  • SV-218660r603259_rule
  • SV-63829
If critical system files are not owned by a privileged user, system integrity could be compromised.
Checks: C-20135r556178_chk

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: F-20133r556179_fix

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

b
The files in /etc/news must be group-owned by root or news.
AC-6 - Medium - CCI-000225 - V-218661 - SV-218661r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN006360
Vuln IDs
  • V-218661
  • V-4278
Rule IDs
  • SV-218661r603259_rule
  • SV-63817
If critical system files do not have a privileged group-owner, system integrity could be compromised.
Checks: C-20136r556181_chk

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

Fix: F-20134r556182_fix

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

c
The system must not use UDP for NIS/NIS+.
CM-7 - High - CCI-000381 - V-218662 - SV-218662r603259_rule
RMF Control
CM-7
Severity
High
CCI
CCI-000381
Version
GEN006380
Vuln IDs
  • V-218662
  • V-4399
Rule IDs
  • SV-218662r603259_rule
  • SV-63813
Implementing Network Information Service (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.
Checks: C-20137r562906_chk

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: F-20135r562907_fix

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

b
The Network Information System (NIS) protocol must not be used.
AC-17 - Medium - CCI-001435 - V-218663 - SV-218663r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001435
Version
GEN006400
Vuln IDs
  • V-218663
  • V-867
Rule IDs
  • SV-218663r603259_rule
  • SV-63803
Due to numerous security vulnerabilities existing within NIS, it must not be used. Possible alternative directory services are NIS+ and LDAP.
Checks: C-20138r562909_chk

Perform the following to determine if NIS is active on the system: # ps -ef | grep ypbind If NIS is found active on the system, this is a finding.

Fix: F-20136r562910_fix

Disable the use of NIS/NIS+. Use as a replacement Kerberos or LDAP.

b
NIS maps must be protected through hard-to-guess domain names.
CM-6 - Medium - CCI-000366 - V-218664 - SV-218664r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006420
Vuln IDs
  • V-218664
  • V-12026
Rule IDs
  • SV-218664r603259_rule
  • SV-63785
The use of hard-to-guess NIS domain names provides additional protection from unauthorized access to the NIS directory information.
Checks: C-20139r556406_chk

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. If the system does not use NIS, this is not applicable.

Fix: F-20137r556407_fix

Change the NIS domainname to a value difficult to guess. Consult vendor documentation for the required procedure.

b
The system must have a host-based intrusion detection tool installed.
SI-2 - Medium - CCI-001233 - V-218665 - SV-218665r603259_rule
RMF Control
SI-2
Severity
Medium
CCI
CCI-001233
Version
GEN006480
Vuln IDs
  • V-218665
  • V-782
Rule IDs
  • SV-218665r603259_rule
  • SV-63733
Adding host-based intrusion detection tools can provide the capability to automatically take actions in response to malicious behavior, which can provide additional agility in reacting to network threats. These tools also often include a reporting capability to provide network awareness of system, which may not otherwise exist in an organization's systems management regime.
Checks: C-20140r561443_chk

Ask the SA or ISSO if a host-based intrusion detection application is loaded on the system. Per OPORD 16-0080 the preferred intrusion detection system is McAfee HBSS available through Cybercom. If another host-based intrusion detection application is in use, such as SELinux, this must be documented and approved by the local Authorizing Official. Procedure: Examine the system to see if the Host Intrusion Prevention System (HIPS) is installed # rpm -qa | grep MFEhiplsm Verify that the McAfee HIPS module is active on the system. # ps -ef | grep -i "hipclient" If the MFEhiplsm package is not installed, check for another intrusion detection system: # find / -name &lt;daemon name&gt; Where &lt;daemon name&gt; is the name of the primary application daemon to determine if the application is loaded on the system. Determine if the application is active on the system. # ps -ef | grep -i &lt;daemon name&gt; If the MFEhiplsm package is not installed and an alternate host-based intrusion detection application has not been documented for use, this is a finding. If no host-based intrusion detection system is installed and running on the system, this is a finding.

Fix: F-20138r561444_fix

Install and enable the latest McAfee HIPS package, available from Cybercom. If the system does not support the McAfee HIPS package, install and enable a supported intrusion detection system application and document its use with the Authorizing Official.

b
The system vulnerability assessment tool, host-based intrusion detection tool, and file integrity tool must notify the SA and the IAO of a security breach or a suspected security breach.
CM-6 - Medium - CCI-000366 - V-218666 - SV-218666r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006560
Vuln IDs
  • V-218666
  • V-12028
Rule IDs
  • SV-218666r603259_rule
  • SV-63761
Timely notifications of potential security compromises minimize the potential damage. Minimally, the system must log these events and the SA and the IAO will receive the notifications during the daily system log review. If feasible, active alerting (such as e-mail or paging) should be employed consistent with the site's established operations management systems and procedures.
Checks: C-20141r562912_chk

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: F-20139r562913_fix

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

b
The system package management tool must be used to verify system software periodically.
CM-6 - Medium - CCI-000366 - V-218667 - SV-218667r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006565
Vuln IDs
  • V-218667
  • V-22506
Rule IDs
  • SV-218667r603259_rule
  • SV-63667
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 not using package management tools.
Checks: C-20142r556415_chk

Check the root crontab (crontab -l) and the global crontabs in "/etc/crontab", "/etc/cron.*" for the presence of an rpm verification command such as: rpm -qVa | awk '$2!="c" {print $0}' If no such cron job is found, this is a finding. If the result of the cron job indicates packages which do not pass verification exist, this is a finding unless the changes were made due to another STIG entry.

Fix: F-20140r556416_fix

Add a cron job to run an rpm verification command such as: rpm -qVa | awk '$2!="c" {print $0}' For packages which failed verification: If the package is not necessary for operations, remove it from the system. If the package is necessary for operations, re-install the package.

a
The file integrity tool must be configured to verify ACLs.
SI-7 - Low - CCI-001297 - V-218668 - SV-218668r603259_rule
RMF Control
SI-7
Severity
Low
CCI
CCI-001297
Version
GEN006570
Vuln IDs
  • V-218668
  • V-22507
Rule IDs
  • SV-218668r603259_rule
  • SV-63657
ACLs can provide permissions beyond those permitted through the file mode and must be verified by file integrity tools.
Checks: C-20143r562915_chk

If using an Advanced Intrusion Detection Environment (AIDE), verify that the configuration contains the "ACL" option for all monitored files and directories. Procedure: Check for the default location /etc/aide/aide.conf or: # find / -name aide.conf # egrep "[+]?acl" &lt;aide.conf file&gt; If the option is not present. This is a finding. If using a different file integrity tool, check the configuration per tool documentation.

Fix: F-20141r562916_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.

a
The file integrity tool must be configured to verify extended attributes.
SI-7 - Low - CCI-001297 - V-218669 - SV-218669r603259_rule
RMF Control
SI-7
Severity
Low
CCI
CCI-001297
Version
GEN006571
Vuln IDs
  • V-218669
  • V-22508
Rule IDs
  • SV-218669r603259_rule
  • SV-63631
Extended attributes in file systems are used to contain arbitrary data and file metadata with security implications.
Checks: C-20144r562918_chk

If using an Advanced Intrusion Detection Environment (AIDE), verify the configuration contains the "xattrs" option for all monitored files and directories. Procedure: Check for the default location /etc/aide/aide.conf or: # find / -name aide.conf # egrep "[+]?xattrs" &lt;aide.conf file&gt; If the option is not present. This is a finding. If using a different file integrity tool, check the configuration per tool documentation.

Fix: F-20142r562919_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.

a
The file integrity tool must use FIPS 140-2 approved cryptographic hashes for validating file contents.
SI-7 - Low - CCI-001297 - V-218670 - SV-218670r603259_rule
RMF Control
SI-7
Severity
Low
CCI
CCI-001297
Version
GEN006575
Vuln IDs
  • V-218670
  • V-22509
Rule IDs
  • SV-218670r603259_rule
  • SV-63653
File integrity tools often use cryptographic hashes for verifying that file contents have not been altered. These hashes must be FIPS 140-2 approved.
Checks: C-20145r562921_chk

If using an Advanced Intrusion Detection Environment (AIDE), verify the configuration contains the "sha256" or "sha512" options for all monitored files and directories. Procedure: Check for the default location /etc/aide/aide.conf or: # find / -name aide.conf # egrep "[+]?(sha256|sha512)" &lt;aide.conf file&gt; If the option is not present. This is a finding. If one of these options is not present. This is a finding. If using a different file integrity tool, check the configuration per tool documentation.

Fix: F-20143r562922_fix

If using AIDE, edit the configuration and add the "sha512" option for all monitored files and directories. If using a different file integrity tool, configure FIPS 140-2 approved cryptographic hashes per the tool's documentation.

b
The system must use an access control program.
CM-6 - Medium - CCI-000366 - V-218671 - SV-218671r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006580
Vuln IDs
  • V-218671
  • V-940
Rule IDs
  • SV-218671r603259_rule
  • SV-63577
Access control programs (such as TCP_WRAPPERS) provide the ability to enhance system security posture.
Checks: C-20146r556427_chk

The tcp_wrappers package is provided with the operating system. Other access control programs may be available but will need to be checked manually. Determine if tcp_wrappers is installed. # rpm -qa | grep tcp_wrappers If no package is listed, this is a finding.

Fix: F-20144r556428_fix

Install and configure the tcp_wrappers package.

b
The systems access control program must log each system access attempt.
CM-6 - Medium - CCI-000366 - V-218672 - SV-218672r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006600
Vuln IDs
  • V-218672
  • V-941
Rule IDs
  • SV-218672r603259_rule
  • SV-63571
If access attempts are not logged, then multiple attempts to log on to the system by an unauthorized user may go undetected.
Checks: C-20147r556430_chk

The tcp_wrappers package is provided with the RHEL distribution. Other access control programs may be available but will need to be checked manually. Depending on what system is used for log processing either /etc/syslog.conf or /etc/rsyslog.conf will be the logging configuration file. Normally, tcpd logs to the mail facility in "/etc/syslog.conf" or "/etc/rsyslog.conf". Determine if syslog or rsyslog is configured to log events by tcpd. Procedure: # more /etc/syslog.conf Or: # more /etc/rsyslog.conf Look for entries similar to the following: mail.debug /var/adm/maillog mail.none /var/adm/maillog mail.* /var/log/mail authpriv.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 this is a finding. If an alternate access control program is used and it does not provide logging of access attempts, this is a finding.

Fix: F-20145r556431_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 recorded to the system log files. If an alternate application is used, it must support this function.

b
The systems access control program must be configured to grant or deny system access to specific hosts.
CM-6 - Medium - CCI-000366 - V-218673 - SV-218673r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006620
Vuln IDs
  • V-218673
  • V-12030
Rule IDs
  • SV-218673r603259_rule
  • SV-63551
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.
Checks: C-20148r556433_chk

Check for the existence of the "/etc/hosts.allow" and "/etc/hosts.deny" files. Procedure: # ls -la /etc/hosts.allow # ls -la /etc/hosts.deny If either file does not exist, this is a finding. Check for the presence of a "default deny" entry. Procedure: # grep "ALL: ALL" /etc/hosts.deny If the "ALL: ALL" entry is not present the "/etc/hosts.deny" file, any TCP service from a host or network not matching other rules will be allowed access. If the entry is not in "/etc/hosts.deny", this is a finding.

Fix: F-20146r556434_fix

Edit the "/etc/hosts.allow" and "/etc/hosts.deny" files to configure access restrictions.

b
The Oracle Linux 5 operating system must use a virus scan program.
CM-6 - Medium - CCI-000366 - V-218674 - SV-218674r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006650
Vuln IDs
  • V-218674
  • V-81455
Rule IDs
  • SV-218674r603259_rule
  • SV-96169
Virus scanning software can be used to protect a system from penetration from computer viruses and to limit their spread through intermediate systems. The virus scanning software should be configured to perform scans dynamically on accessed files. If this capability is not available, the system must be configured to scan, at a minimum, all altered files on the system on a daily basis. If the system processes inbound SMTP mail, the virus scanner must be configured to scan all received mail.
Checks: C-20149r561446_chk

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

Fix: F-20147r561447_fix

Install an antivirus solution on the system.

a
Accounts must be locked upon 35 days of inactivity.
AC-2 - Low - CCI-000017 - V-218675 - SV-218675r603259_rule
RMF Control
AC-2
Severity
Low
CCI
CCI-000017
Version
GEN006660
Vuln IDs
  • V-218675
  • V-38692
Rule IDs
  • SV-218675r603259_rule
  • SV-62899
Disabling inactive accounts ensures that accounts which may not have been responsibly removed are not available to attackers who may have compromised their credentials.
Checks: C-20150r556439_chk

To verify the "INACTIVE" setting, run the following command: grep "INACTIVE" /etc/default/useradd The output should indicate the "INACTIVE" configuration option is set to an appropriate integer as shown in the example below: # grep "INACTIVE" /etc/default/useradd INACTIVE=35 If it does not, this is a finding.

Fix: F-20148r556440_fix

To specify the number of days after a password expires (which signifies inactivity) until an account is permanently disabled, add or correct the following lines in "/etc/default/useradd", substituting "[NUM_DAYS]" appropriately: INACTIVE=[NUM_DAYS] A value of 35 is recommended. If a password is currently on the verge of expiration, then 35 days remain until the account is automatically disabled. However, if the password will not expire for another 60 days, then 95 days could elapse until the account would be automatically disabled. See the "useradd" man page for more information. Determining the inactivity timeout must be done with careful consideration of the length of a "normal" period of inactivity for users in the particular environment. Setting the timeout too low incurs support costs and also has the potential to impact availability of the system to legitimate users.

b
The Stream Control Transmission Protocol (SCTP) must be disabled unless required.
CM-7 - Medium - CCI-000382 - V-218676 - SV-218676r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
GEN007020
Vuln IDs
  • V-218676
  • V-22511
Rule IDs
  • SV-218676r603259_rule
  • SV-63529
The Stream Control Transmission Protocol (SCTP) is an Internet Engineering Task Force (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.
Checks: C-20151r556442_chk

Verify the SCTP protocol handler is prevented from dynamic loading. # grep 'install sctp /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding.

Fix: F-20149r556443_fix

Prevent the SCTP protocol handler for dynamic loading. # echo "install sctp /bin/true" >> /etc/modprobe.conf

b
The Datagram Congestion Control Protocol (DCCP) must be disabled unless required.
CM-7 - Medium - CCI-000382 - V-218677 - SV-218677r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
GEN007080
Vuln IDs
  • V-218677
  • V-22514
Rule IDs
  • SV-218677r603259_rule
  • SV-63521
The DCCP is a proposed 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.
Checks: C-20152r556445_chk

Verify the DCCP protocol handler is prevented from dynamic loading. # grep 'install dccp /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding. # grep 'install dccp_ipv4 /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding. # grep 'install dccp_ipv6 /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding.

Fix: F-20150r556446_fix

Prevent the DCCP protocol handler for dynamic loading. # echo "install dccp /bin/true" >> /etc/modprobe.conf # echo "install dccp_ipv4 /bin/true" >> /etc/modprobe.conf # echo "install dccp_ipv6 /bin/true" >> /etc/modprobe.conf

b
The AppleTalk protocol must be disabled or not installed.
CM-7 - Medium - CCI-000382 - V-218678 - SV-218678r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
GEN007260
Vuln IDs
  • V-218678
  • V-22524
Rule IDs
  • SV-218678r603259_rule
  • SV-63453
The AppleTalk suite of protocols is no longer in common use. 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.
Checks: C-20153r556448_chk

Verify the AppleTalk protocol handler is prevented from dynamic loading. # grep 'install appletalk' /etc/modprobe.conf /etc/modprobe.d/* If anything is returned check that appletalk is disabled by having the executable set to '/bin/true'. If an uncommented line containing "appletalk" is found which has not been disabled, this is a finding.

Fix: F-20151r556449_fix

Prevent the AppleTalk protocol handler for dynamic loading. # echo "install appletalk /bin/true" >> /etc/modprobe.conf

b
The Reliable Datagram Sockets (RDS) protocol must be disabled or not installed unless required.
CM-7 - Medium - CCI-000382 - V-218679 - SV-218679r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
GEN007480
Vuln IDs
  • V-218679
  • V-22530
Rule IDs
  • SV-218679r603259_rule
  • SV-63451
The 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.
Checks: C-20154r556451_chk

Ask the SA if RDS is required by application software running on the system. If so, this is not applicable. Verify the RDS protocol handler is prevented from dynamic loading. # grep 'install rds /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding.

Fix: F-20152r556452_fix

Prevent the RDS protocol handler for dynamic loading. # echo "install rds /bin/true" >> /etc/modprobe.conf

b
The Transparent Inter-Process Communication (TIPC) protocol must be disabled or uninstalled.
CM-7 - Medium - CCI-000382 - V-218680 - SV-218680r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
GEN007540
Vuln IDs
  • V-218680
  • V-22533
Rule IDs
  • SV-218680r603259_rule
  • SV-63449
The TIPC protocol is a relatively new cluster communications protocol developed by Ericsson. 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.
Checks: C-20155r556454_chk

Verify the TIPC protocol handler is prevented from dynamic loading. # grep 'install tipc /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding.

Fix: F-20153r556455_fix

Prevent the TIPC protocol handler for dynamic loading. # echo "install tipc /bin/true" >> /etc/modprobe.conf

b
The Bluetooth protocol handler must be disabled or not installed.
AC-4 - Medium - CCI-001551 - V-218681 - SV-218681r603259_rule
RMF Control
AC-4
Severity
Medium
CCI
CCI-001551
Version
GEN007660
Vuln IDs
  • V-218681
  • V-22539
Rule IDs
  • SV-218681r603259_rule
  • SV-63447
Bluetooth is a Personal Area Network (PAN) technology. Binding this protocol to the network stack increases the attack surface of the host. Unprivileged local processes may be able to cause the kernel to dynamically load a protocol handler by opening a socket using the protocol.
Checks: C-20156r562924_chk

Verify the Bluetooth protocol handler is prevented from dynamic loading. # grep 'install bluetooth /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no result is returned, this is a finding.

Fix: F-20154r562925_fix

Prevent the Bluetooth protocol handler for dynamic loading. # echo "install bluetooth /bin/true" >> /etc/modprobe.conf

b
The system must not have 6to4 enabled.
CM-7 - Medium - CCI-000381 - V-218682 - SV-218682r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN007780
Vuln IDs
  • V-218682
  • V-22545
Rule IDs
  • SV-218682r603259_rule
  • SV-63423
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.
Checks: C-20157r562927_chk

Check the system for any active 6to4 tunnels without specific remote addresses. # ip tun list | grep "remote any" | grep "ipv6/ip" If any results are returned the "tunnel" is the first field. If any results are returned, this is a finding.

Fix: F-20155r562928_fix

Disable the active 6to4 tunnel. # ip link set <tunnel> down Add this command to a startup script, or remove the configuration creating the tunnel.

b
The system must not have Teredo enabled.
CM-7 - Medium - CCI-000381 - V-218683 - SV-218683r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN007800
Vuln IDs
  • V-218683
  • V-22546
Rule IDs
  • SV-218683r603259_rule
  • SV-63417
Teredo is an IPv6 transition mechanism involving tunneling IPv6 packets encapsulated in IPv4 packets. Unauthorized tunneling may circumvent network security.
Checks: C-20158r562930_chk

Verify the Miredo service is not running. # ps ax | grep miredo | grep -v grep If the miredo process is running, this is a finding.

Fix: F-20156r562931_fix

Edit startup scripts to prevent the service from running on startup.

b
The system must not have IP tunnels configured.
CM-7 - Medium - CCI-000381 - V-218684 - SV-218684r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN007820
Vuln IDs
  • V-218684
  • V-22547
Rule IDs
  • SV-218684r603259_rule
  • SV-63413
IP tunneling mechanisms can be used to bypass network filtering.
Checks: C-20159r562933_chk

Check for any IP tunnels. # ip tun list # ip -6 tun list If any tunnels are listed, this is a finding.

Fix: F-20157r562934_fix

Remove the tunnels. # ip tun del <tunnel> Edit system startup scripts to prevent tunnel creation on startup.

b
The DHCP client must be disabled if not needed.
CM-6 - Medium - CCI-000366 - V-218685 - SV-218685r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN007840
Vuln IDs
  • V-218685
  • V-22548
Rule IDs
  • SV-218685r603259_rule
  • SV-63411
DHCP allows for the unauthenticated configuration of network parameters on the system by exchanging information with a DHCP server.
Checks: C-20160r556469_chk

Verify no interface is configured to use DHCP. # grep -i bootproto=dhcp /etc/sysconfig/network-scripts/ifcfg-* If any configuration is found, this is a finding.

Fix: F-20158r556470_fix

Edit the "/etc/sysconfig/network-scripts/ifcfg-*" file(s) and change the "bootproto" setting to "static".

b
The DHCP client must not send dynamic DNS updates.
CM-6 - Medium - CCI-000366 - V-218686 - SV-218686r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN007850
Vuln IDs
  • V-218686
  • V-22549
Rule IDs
  • SV-218686r603259_rule
  • SV-63409
Dynamic DNS updates transmit unencrypted information about a system including its name and address and should not be used unless needed.
Checks: C-20161r556475_chk

If the "dhclient" package is not installed, this is not applicable. Verify the DHCP client is configured to not send dynamic DNS updates. Procedure: # grep do-forward-updates /etc/dhclient.conf If the file is not present, does not contain this configuration, or has the setting set to "true", this is a finding.

Fix: F-20159r556476_fix

Edit or add the "/etc/dhclient.conf" file and add or edit the "do-forward-updates" setting to false. Procedure: # echo "do-forward-updates false;" >> /etc/dhclient.conf

b
The system must ignore IPv6 ICMP redirect messages.
CM-7 - Medium - CCI-000382 - V-218687 - SV-218687r603259_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000382
Version
GEN007860
Vuln IDs
  • V-218687
  • V-22550
Rule IDs
  • SV-218687r603259_rule
  • SV-63401
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.
Checks: C-20162r556478_chk

Verify the system is configured to ignore IPv6 ICMP redirect messages. # cat /proc/sys/net/ipv6/conf/all/accept_redirects If the /proc/sys/net/ipv6/conf/all/accept_redirects entry does not exist because of compliance with GEN007720, this is not a finding. If the returned value is not "0", this is a finding.

Fix: F-20160r556479_fix

Configure the system to ignore IPv6 ICMP redirect messages. Edit "/etc/sysctl.conf" and add a settings for "net.ipv6.conf.default.accept_redirects=0" and "net.ipv6.conf.all.accept_redirects=0". Restart the system for the setting to take effect.

b
The system must not forward IPv6 source-routed packets.
CM-6 - Medium - CCI-001503 - V-218688 - SV-218688r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-001503
Version
GEN007920
Vuln IDs
  • V-218688
  • V-22553
Rule IDs
  • SV-218688r603259_rule
  • SV-63393
Source-routed packets allow the source of the packet to suggest that 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.
Checks: C-20163r556481_chk

Determine if the system is configured to forward IPv6 source-routed packets. Procedure: # egrep "net.ipv6.conf.*forwarding" /etc/sysctl.conf If there are no entries found or the value of the entries is not = "0", this is a finding.

Fix: F-20161r556482_fix

Configure the system to not forward IPv6 source-routed packets. Procedure: Edit the /etc/sysctl.conf file to include: net.ipv6.conf.all.forwarding = 0 net.ipv6.conf.default.forwarding = 0 Reload the kernel parameters: # sysctl -p

b
The system must not respond to ICMPv6 echo requests sent to a broadcast address.
CM-6 - Medium - CCI-000366 - V-218689 - SV-218689r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN007950
Vuln IDs
  • V-218689
  • V-23972
Rule IDs
  • SV-218689r603259_rule
  • SV-63385
Responding to broadcast ICMP echo requests facilitates network mapping and provides a vector for amplification attacks.
Checks: C-20164r556484_chk

Check for an iptables rule that drops inbound IPv6 ICMP ECHO_REQUESTs sent to the all-hosts multicast address. Procedure: # less /etc/sysconfig/ip6tables Check for a rule in, or referenced by, the INPUT chain such as: -A INPUT -p icmpv6 -d ff02::1 --icmpv6-type 128 -j DROP If such a rule does not exist, this is a finding.

Fix: F-20162r556485_fix

Add an iptables rule that drops inbound IPv6 ICMP ECHO_REQUESTs sent to the all-hosts multicast address. Edit /etc/sysconfig/ip6tables and add a rule in, or referenced by, the INPUT chain such as: -A INPUT -p icmpv6 -d ff02::1 --icmpv6-type 128 -j DROP Reload the iptables rules. Procedure: # service ip6tables restart

b
The ldd command must be disabled unless it protects against the execution of untrusted files.
CM-2 - Medium - CCI-000305 - V-218690 - SV-218690r603259_rule
RMF Control
CM-2
Severity
Medium
CCI
CCI-000305
Version
GEN007960
Vuln IDs
  • V-218690
  • V-23953
Rule IDs
  • SV-218690r603259_rule
  • SV-63379
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 that prevent the execution of untrusted files. Recent glibc RPMs delivered by this operating system also protect against 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.
Checks: C-20165r562936_chk

Check the system for the 'ldd' binary. Procedure: # ls -lL /usr/bin/ldd If the 'ldd' binary has any executable permissions bits set, this is a finding.

Fix: F-20163r562937_fix

Remove the execute permissions from the 'ldd' executable. Procedure: # chmod a-x /usr/bin/ldd

b
If the system is using LDAP for authentication or account information, the system must use a TLS connection using FIPS 140-2 approved cryptographic algorithms.
AC-17 - Medium - CCI-001453 - V-218691 - SV-218691r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-001453
Version
GEN007980
Vuln IDs
  • V-218691
  • V-22555
Rule IDs
  • SV-218691r603259_rule
  • SV-63369
LDAP can be used to provide user authentication and account information, which are vital to system security. Communication between an LDAP server and a host using LDAP requires protection.
Checks: C-20166r556490_chk

To check to see if the system is an LDAP server, verify LDAP is running on the system: # ps -ef | grep ldap Find out which LDAP is used (if not determined via the command above). # rpm -qa | grep ldap If using nssldap: # grep base /etc/ldap.conf Check to see if the base is set to something besides the default of "dc=example,dc=com". If using openldap: # grep suffix /etc/openldap/slapd.conf Check whether the system is an LDAP client: # grep server /etc/ldap.conf # grep server /etc/openldap/ldap.conf Check whether the server option has an address other than the loopback, then check the nsswitch.conf file. # grep ldap /etc/nsswitch.conf Look for the following three lines: passwd: files ldap shadow: files ldap group: files ldap If all three files are not configured to look for an LDAP source, then the system is not using LDAP for authentication. If the system is not using LDAP for authentication, this is not applicable. Check if NSS LDAP is using TLS. # grep '^ssl start_tls' /etc/ldap.conf If no lines are returned, this is a finding. Check if NSS LDAP TLS is using only FIPS 140-2 approved cryptographic algorithms. # grep '^tls_ciphers' /etc/ldap.conf If the line is not present or contains ciphers not approved by FIPS 140-2, this is a finding. FIPS-approved ciphers include 3DES and AES. FIPS-approved hashes include the SHA hash family.

Fix: F-20164r556491_fix

Edit "/etc/ldap.conf" and add a "ssl start_tls" and "tls_ciphers" options with only FIPS 140-2 approved ciphers.

b
If the system is using LDAP for authentication or account information, certificates used to authenticate to the LDAP server must be provided from DoD PKI or a DoD-approved external PKI.
IA-5 - Medium - CCI-000185 - V-218692 - SV-218692r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000185
Version
GEN008000
Vuln IDs
  • V-218692
  • V-22556
Rule IDs
  • SV-218692r603259_rule
  • SV-63365
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.
Checks: C-20167r556493_chk

Verify the source of the LDAP certificates Check if the system is using NSS LDAP. # grep -v '^#' /etc/nsswitch.conf | grep ldap If no lines are returned, this vulnerability is not applicable. Verify with the SA that the system is connected to the GIG. If the system part of a standalone network which is not connected to the GIG this vulnerability is not applicable. Verify a certificate is used for client authentication to the server. # grep -i '^tls_cert' /etc/ldap.conf If no line is found, this is a finding. List the certificate issuer. # openssl x509 -text -in &lt;cert&gt; If the certificate is not issued by DoD PKI or a DoD-approved external PKI, this is a finding.

Fix: F-20165r556494_fix

Edit "/etc/ldap.conf" and add or edit the 'tls_cert' setting to reference a file containing a client certificate issued by DoD PKI or a DoD-approved external PKI.

b
If the system is using LDAP for authentication or account information, the LDAP TLS connection must require the server provide a certificate with a valid trust path to a trusted CA.
IA-5 - Medium - CCI-000185 - V-218693 - SV-218693r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000185
Version
GEN008020
Vuln IDs
  • V-218693
  • V-22557
Rule IDs
  • SV-218693r603259_rule
  • SV-63361
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.
Checks: C-20168r556496_chk

Check if the system is using NSS LDAP. # grep -v '^#' /etc/nsswitch.conf | grep ldap If no lines are returned, this vulnerability is not applicable. Verify a server certificate is required and verified by the NSS LDAP configuration. # grep -i '^tls_checkpeer' /etc/ldap.conf If no line is returned, or the value is not "yes", this is a finding.

Fix: F-20166r556497_fix

Edit "/etc/ldap.conf" and add or set the "tls_checkpeer" setting to "yes".

b
If the system is using LDAP for authentication or account information, the system must verify the LDAP servers certificate has not been revoked.
IA-5 - Medium - CCI-000185 - V-218694 - SV-218694r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000185
Version
GEN008040
Vuln IDs
  • V-218694
  • V-22558
Rule IDs
  • SV-218694r603259_rule
  • SV-63357
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.
Checks: C-20169r556499_chk

Check if the system is using NSS LDAP. # grep -v '^#' /etc/nsswitch.conf | grep ldap If no lines are returned, this vulnerability is not applicable. Verify the NSS LDAP client is configured to check certificates against a certificate revocation list. # grep -i '^tls_crlcheck' /etc/ldap.conf If the setting does not exist, or the value is not "all", this is a finding.

Fix: F-20167r556500_fix

Edit "/etc/ldap.conf" and add or set the "tls_crlcheck" setting to "all".

b
If the system is using LDAP for authentication or account information, the /etc/ldap.conf file (or equivalent) must not contain passwords.
IA-5 - Medium - CCI-000196 - V-218695 - SV-218695r603259_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
GEN008050
Vuln IDs
  • V-218695
  • V-24384
Rule IDs
  • SV-218695r603259_rule
  • SV-63355
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.
Checks: C-20170r556502_chk

Verify LDAP is running on the system. To check to see if the system is an LDAP server run: # ps -ef | grep ldap Find out which LDAP is used (if not determined via the command above). # rpm -qa | grep ldap If using nssldap: # grep base /etc/ldap.conf Check to see if the base is set to something besides the default of "dc=example,dc=com". If using openldap: # grep suffix /etc/openldap/slapd.conf Check whether the system is an LDAP client: # grep server /etc/ldap.conf # grep server /etc/openldap/ldap.conf Check whether the server option has an address other than the loopback, then check the nsswitch.conf file: # grep ldap /etc/nsswitch.conf Look for the following three lines: passwd: files ldap shadow: files ldap group: files ldap If all three files are not configured to look for an LDAP source, then the system is not using LDAP for authentication. If the system is not using LDAP for authentication, this is not applicable. Check for the "bindpw" option being used in the "/etc/ldap.conf" file. # grep bindpw /etc/ldap.conf If an uncommented "bindpw" option is returned, then a clear text password is in the file, and this is a finding.

Fix: F-20168r556503_fix

Edit the "/etc/ldap.conf" file to use anonymous binding by removing the "bindpw" option.

b
If the system is using LDAP for authentication or account information the /etc/ldap.conf (or equivalent) file must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218696 - SV-218696r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008060
Vuln IDs
  • V-218696
  • V-22559
Rule IDs
  • SV-218696r603259_rule
  • SV-63349
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.
Checks: C-20171r556505_chk

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

Fix: F-20169r556506_fix

Change the permissions of the file. # chmod 0644 /etc/ldap.conf

b
If the system is using LDAP for authentication or account information, the /etc/ldap.conf (or equivalent) file must be owned by root.
CM-6 - Medium - CCI-000366 - V-218697 - SV-218697r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN008080
Vuln IDs
  • V-218697
  • V-22560
Rule IDs
  • SV-218697r603259_rule
  • SV-63321
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.
Checks: C-20172r556508_chk

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

Fix: F-20170r556509_fix

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

b
If the system is using LDAP for authentication or account information, the /etc/ldap.conf (or equivalent) file must be group-owned by root, bin, sys, or system.
AC-6 - Medium - CCI-000225 - V-218698 - SV-218698r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008100
Vuln IDs
  • V-218698
  • V-22561
Rule IDs
  • SV-218698r603259_rule
  • SV-63317
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.
Checks: C-20173r556511_chk

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

Fix: F-20171r556512_fix

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

b
If the system is using LDAP for authentication or account information, the /etc/ldap.conf (or equivalent) file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-218699 - SV-218699r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN008120
Vuln IDs
  • V-218699
  • V-22562
Rule IDs
  • SV-218699r603259_rule
  • SV-63315
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.
Checks: C-20174r556514_chk

Check the permissions of the file. # ls -lL /etc/ldap.conf If the mode includes a '+', the file has an extended ACL. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20172r556515_fix

Remove the extended ACL from the "/etc/ldap.conf" file. # setfacl --remove-all /etc/ldap.conf

b
If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must be owned by root.
AC-6 - Medium - CCI-000225 - V-218700 - SV-218700r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008140
Vuln IDs
  • V-218700
  • V-22563
Rule IDs
  • SV-218700r603259_rule
  • SV-63303
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.
Checks: C-20175r556517_chk

Determine if LDAP is used for account information on the system. To check to see if the system is an LDAP server, verify LDAP is running on the system: # ps -ef | grep ldap Find out which LDAP is used (if not determined via the command above). # rpm -qa | grep ldap If using nssldap: # grep base /etc/ldap.conf Check to see if the base is set to something besides the default of "dc=example,dc=com". If using openldap: # grep suffix /etc/openldap/slapd.conf Check whether the system is an LDAP client: # grep server /etc/ldap.conf # grep server /etc/openldap/ldap.conf Check whether the server option has an address other than the loopback, then check the nsswitch.conf file. # grep ldap /etc/nsswitch.conf Look for the following three lines: passwd: files ldap shadow: files ldap group: files ldap If no uncommented reference to "ldap" is identified, LDAP is not used for account information on the system and this is not applicable. Determine the certificate authority file and/or directory. # grep -i '^tls_cacert' /etc/ldap.conf For each file or directory returned, check the ownership. # ls -lLd &lt;certpath&gt; If the owner of any file or directory is not root, this is a finding.

Fix: F-20173r556518_fix

Change the ownership of the file or directory. # chown root <certpath>

b
If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must be group-owned by root, bin, sys, or system.
CM-6 - Medium - CCI-000366 - V-218701 - SV-218701r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN008160
Vuln IDs
  • V-218701
  • V-22564
Rule IDs
  • SV-218701r603259_rule
  • SV-63291
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.
Checks: C-20176r556520_chk

Determine the certificate authority file and/or directory. # grep -i '^tls_cacert' /etc/ldap.conf For each file or directory returned, check the group ownership. # ls -lLd &lt;certpath&gt; If the group-owner of any file or directory is not root, bin, sys, or system, this is a finding.

Fix: F-20174r556521_fix

Change the group ownership of the file or directory. # chgrp root <certpath>

b
If the system is using LDAP for authentication or account information, the TLS certificate authority file and/or directory (as appropriate) must have mode 0644 (0755 for directories) or less permissive.
AC-6 - Medium - CCI-000225 - V-218702 - SV-218702r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008180
Vuln IDs
  • V-218702
  • V-22565
Rule IDs
  • SV-218702r603259_rule
  • SV-63289
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.
Checks: C-20177r556523_chk

Determine the certificate authority file and/or directory. Procedure: # grep -i '^tls_cacert' /etc/ldap.conf For each file or directory returned, check the permissions. Procedure: # ls -lLd &lt;certpath&gt; If the mode of the file is more permissive than 0644 (or 0755 for directories), this is a finding.

Fix: F-20175r556524_fix

Change the mode of the file or directory. File Procedure: # chmod 0644 <certpath> Directory Procedure: # chmod 0755 <certpath>

b
If the system is using LDAP for authentication or account information, the LDAP TLS certificate authority file and/or directory (as appropriate) must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-218703 - SV-218703r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN008200
Vuln IDs
  • V-218703
  • V-22566
Rule IDs
  • SV-218703r603259_rule
  • SV-63287
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.
Checks: C-20178r556526_chk

Determine the certificate authority file and/or directory. # grep -i '^tls_cacert' /etc/ldap.conf For each file or directory returned, check the permissions. # ls -lLd &lt;certpath&gt; If the mode of the file or directory contains a '+', an extended ACL is present. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20176r556527_fix

Remove the extended ACL from the certificate file. Procedure: For each certificate file found remove all extended permissions # setfacl --remove-all <certpath>

b
For systems using NSS LDAP, the TLS certificate file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218704 - SV-218704r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008220
Vuln IDs
  • V-218704
  • V-22567
Rule IDs
  • SV-218704r603259_rule
  • SV-63257
The NSS LDAP service provides user mappings which are a vital component of system security. Its configuration must be protected from unauthorized modification.
Checks: C-20179r556529_chk

Determine the certificate file. # grep -i '^tls_cert' /etc/ldap.conf Check the ownership. # ls -lL &lt;certpath&gt; If the owner of the file is not root, this is a finding.

Fix: F-20177r556530_fix

Change the ownership of the file. # chown root <certpath>

b
If the system is using LDAP for authentication or account information, the LDAP TLS certificate file must be group-owned by root, bin, sys, or system.
CM-6 - Medium - CCI-000366 - V-218705 - SV-218705r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN008240
Vuln IDs
  • V-218705
  • V-22568
Rule IDs
  • SV-218705r603259_rule
  • SV-63253
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.
Checks: C-20180r556532_chk

Determine the certificate file. Procedure: # grep -i '^tls_cert' /etc/ldap.conf Check the group ownership. Procedure: # ls -lL &lt;certpath&gt; If the group owner of the file is not root, bin, sys, or system, this is a finding.

Fix: F-20178r556533_fix

Change the group ownership of the file. Procedure: # chgrp root <certpath>

b
If the system is using LDAP for authentication or account information, the LDAP TLS certificate file must have mode 0644 or less permissive.
AC-6 - Medium - CCI-000225 - V-218706 - SV-218706r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008260
Vuln IDs
  • V-218706
  • V-22569
Rule IDs
  • SV-218706r603259_rule
  • SV-63249
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.
Checks: C-20181r556535_chk

Identify the LDAP TLS Certificate file: # cat &lt;ldap_config_file&gt; | grep -i "^tls" TLSCACertificatePath &lt;path&gt; TLSCACertificateFile &lt;filename&gt; TLSCertificateFile &lt;filename&gt; For each TLSCACertificateFile and TLSCertificateFile defined in the configuration file, verify the file permissions: # ls -la &lt;tls_certificate_file&gt; If the mode of the file is more permissive than 0644, this is a finding.

Fix: F-20179r556536_fix

Change the mode of the file. # chmod 0644 <certpath>

b
If the system is using LDAP for authentication or account information, the LDAP TLS certificate file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-218707 - SV-218707r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN008280
Vuln IDs
  • V-218707
  • V-22570
Rule IDs
  • SV-218707r603259_rule
  • SV-63245
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.
Checks: C-20182r556538_chk

Determine the certificate file. # grep -i '^tls_cert' /etc/ldap.conf Check the permissions. # ls -lL &lt;certpath&gt; If the mode of the file contains a '+', an extended ACL is present. This is a finding.

Fix: F-20180r556539_fix

Remove the extended ACL from the certificate file. Procedure: For each certificate file found remove all extended permissions. # setfacl --remove-all <certpath>

b
If the system is using LDAP for authentication or account information, the LDAP TLS key file must be owned by root.
AC-6 - Medium - CCI-000225 - V-218708 - SV-218708r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008300
Vuln IDs
  • V-218708
  • V-22571
Rule IDs
  • SV-218708r603259_rule
  • SV-63243
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.
Checks: C-20183r556541_chk

Determine the key file. # grep -i '^tls_key' /etc/ldap.conf Check the ownership. # ls -lL &lt;keypath&gt; If the owner of the file is not root, this is a finding.

Fix: F-20181r556542_fix

Change the ownership of the file. # chown root <keypath>

b
If the system is using LDAP for authentication or account information, the LDAP TLS key file must be group-owned by root, bin, or sys.
CM-6 - Medium - CCI-000366 - V-218709 - SV-218709r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN008320
Vuln IDs
  • V-218709
  • V-22572
Rule IDs
  • SV-218709r603259_rule
  • SV-63235
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.
Checks: C-20184r556544_chk

Determine the key file. # grep -i '^tls_key' /etc/ldap.conf Check the group ownership. # ls -lL &lt;keypath&gt; If the file is not group owned by root, bin, or sys, this is a finding.

Fix: F-20182r556545_fix

Change the group ownership of the file. # chgrp root <keypath>

b
If the system is using LDAP for authentication or account information, the LDAP TLS key file must have mode 0600 or less permissive.
AC-6 - Medium - CCI-000225 - V-218710 - SV-218710r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008340
Vuln IDs
  • V-218710
  • V-22573
Rule IDs
  • SV-218710r603259_rule
  • SV-63233
LDAP can be used to provide user authentication and account information, which are vital to system security. The LDAP client configuration must be protected from unauthorized modification. Note: Depending on the particular implementation, group and other read permission may be necessary for unprivileged users to successfully resolve account information using LDAP. This will still be a finding, as these permissions provide users with access to system authenticators.
Checks: C-20185r556547_chk

Determine the key file. # grep -i '^tls_key' /etc/ldap.conf Check the permissions. # ls -lL &lt;keypath&gt; If the mode of the file is more permissive than 0600, this is a finding.

Fix: F-20183r556548_fix

Change the mode of the file. # chmod 0600 <keypath>

b
If the system is using LDAP for authentication or account information, the LDAP TLS key file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-218711 - SV-218711r603259_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN008360
Vuln IDs
  • V-218711
  • V-22574
Rule IDs
  • SV-218711r603259_rule
  • SV-63213
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.
Checks: C-20186r556550_chk

Determine the key file. # grep -i '^tls_key' /etc/ldap.conf Check the permissions. # ls -lL &lt;keypath&gt; If the permissions of the file contains a '+', an extended ACL is present. If the file has an extended ACL and it has not been documented with the IAO, this is a finding.

Fix: F-20184r556551_fix

Remove the extended ACL from the key file. Procedure: For each key file found remove all extended permissions. # setfacl --remove-all <keypath>

a
The system must use available memory address randomization techniques.
CM-6 - Low - CCI-000366 - V-218712 - SV-218712r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN008420
Vuln IDs
  • V-218712
  • V-22576
Rule IDs
  • SV-218712r603259_rule
  • SV-63197
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.
Checks: C-20187r556553_chk

Check that the "kernel.randomize_va_space" kernel parameter is set to "2" in /etc/sysctl.conf. Procedure: # grep ^kernel\.randomize_va_space /etc/sysctl.conf | awk -F= '{ print $2 }' If there is no value returned or if a value is returned that is not "2", this is a finding.

Fix: F-20185r556554_fix

Edit (or add if necessary) the entry in /etc/sysctl.conf for the "kernel.randomize_va_space" kernel parameter. Ensure this parameter is set to "2" as in: kernel.randomize_va_space = 2 If this was not already the default, reboot the system for the change to take effect.

a
Automated file system mounting tools must not be enabled unless needed.
CM-6 - Low - CCI-000366 - V-218713 - SV-218713r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN008440
Vuln IDs
  • V-218713
  • V-22577
Rule IDs
  • SV-218713r603259_rule
  • SV-63193
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.
Checks: C-20188r556556_chk

If the autofs service is needed, this vulnerability is not applicable. Check if the autofs service is running. # service autofs status If the service is running, this is a finding.

Fix: F-20186r556557_fix

Stop and disable the autofs service. # service autofs stop # chkconfig autofs off

a
The system must have USB disabled unless needed.
CM-6 - Low - CCI-000366 - V-218714 - SV-218714r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN008460
Vuln IDs
  • V-218714
  • V-22578
Rule IDs
  • SV-218714r603259_rule
  • SV-63189
USB is a common computer peripheral interface. USB devices may include storage devices with the potential to install malicious software on a system or exfiltrate data.
Checks: C-20189r556559_chk

If the system needs USB, this vulnerability is not applicable. Check if the directory "/proc/bus/usb" exists. If so, this is a finding.

Fix: F-20187r556560_fix

Edit the grub bootloader file "/boot/grub/grub.conf" or "/boot/grub/menu.lst" by appending the "nousb" parameter to the kernel boot line.

a
The system must have USB Mass Storage disabled unless needed.
CM-6 - Low - CCI-000366 - V-218715 - SV-218715r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN008480
Vuln IDs
  • V-218715
  • V-22579
Rule IDs
  • SV-218715r603259_rule
  • SV-63179
USB is a common computer peripheral interface. USB devices may include storage devices with the potential to install malicious software on a system or exfiltrate data
Checks: C-20190r556562_chk

If the system needs USB storage, this vulnerability is not applicable. Check if usb-storage is prevented from loading. # grep 'install usb-storage /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no results are returned, this is a finding.

Fix: F-20188r556563_fix

Prevent the usb-storage module from loading. # echo 'install usb-storage /bin/true' >> /etc/modprobe.conf

a
The system must have IEEE 1394 (Firewire) disabled unless needed.
CM-6 - Low - CCI-000366 - V-218716 - SV-218716r603259_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN008500
Vuln IDs
  • V-218716
  • V-22580
Rule IDs
  • SV-218716r603259_rule
  • SV-63173
Firewire is a common computer peripheral interface. Firewire devices may include storage devices with the potential to install malicious software on a system or exfiltrate data.
Checks: C-20191r556565_chk

If the system needs IEEE 1394 (Firewire), this is not applicable. Check if the Firewire module is not disabled. # grep 'install ieee1394 /bin/true' /etc/modprobe.conf /etc/modprobe.d/* If no results are returned, this is a finding.

Fix: F-20189r556566_fix

Prevent the system from loading the Firewire module. # echo 'install ieee1394 /bin/true' >> /etc/modprobe.conf

b
The system must employ a local firewall.
AC-17 - Medium - CCI-002314 - V-218717 - SV-218717r603259_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-002314
Version
GEN008520
Vuln IDs
  • V-218717
  • V-22582
Rule IDs
  • SV-218717r603259_rule
  • SV-63149
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.
Checks: C-20192r562939_chk

Determine if the system is using a local firewall. # chkconfig --list iptables If the service is not "on" in the standard runlevel (ordinarily 3 or 5), this is a finding.

Fix: F-20190r562940_fix

Enable the system's local firewall. # chkconfig iptables on # service iptables start

b
The systems local firewall must implement a deny-all, allow-by-exception policy.
SC-7 - Medium - CCI-001109 - V-218718 - SV-218718r603259_rule
RMF Control
SC-7
Severity
Medium
CCI
CCI-001109
Version
GEN008540
Vuln IDs
  • V-218718
  • V-22583
Rule IDs
  • SV-218718r603259_rule
  • SV-63141
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.
Checks: C-20193r562942_chk

Check the firewall rules for a default deny rule. # iptables --list Example of a rule meeting this criteria: REJECT all -- anywhere anywhere reject-with icmp-host-prohibited A rule using DROP is also acceptable. The default rule should be the last rule of a table and match all traffic. If there is no default deny rule, this is a finding.

Fix: F-20191r562943_fix

Edit "/etc/sysconfig/iptables" and add a default deny rule. An example of a default deny rule: -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited Restart the iptable service. # service iptables restart

c
The system must be configured to only boot from the system boot device.
CM-6 - High - CCI-000366 - V-218719 - SV-218719r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN008600
Vuln IDs
  • V-218719
  • V-1013
Rule IDs
  • SV-218719r603259_rule
  • SV-63139
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 with the potential to compromise or damage the system. It could also allow the system to be used for malicious purposes by a malicious anonymous user.
Checks: C-20194r556574_chk

Determine if the system is configured to boot from devices other than the system startup media. If so, this is a finding.

Fix: F-20192r556575_fix

Configure the system to only boot from system startup media. Procedure: On systems with a BIOS or system controller use the BIOS interface at startup to remove all but the proper boot device from the boot device list.

b
System BIOS or system controllers supporting password protection must have administrator accounts/passwords configured, and no others.
AC-3 - Medium - CCI-000213 - V-218720 - SV-218720r603259_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
GEN008620
Vuln IDs
  • V-218720
  • V-4246
Rule IDs
  • SV-218720r603259_rule
  • SV-63135
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.
Checks: C-20195r556577_chk

On systems with a BIOS or system controller, verify a supervisor or administrator password is set. If a password is not set, this is a finding. If the BIOS or system controller supports user-level access in addition to supervisor/administrator access, determine if this access is enabled. If so, this is a finding.

Fix: F-20193r556578_fix

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

c
The system must not use removable media as the boot loader.
CM-6 - High - CCI-000366 - V-218721 - SV-218721r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN008640
Vuln IDs
  • V-218721
  • V-4247
Rule IDs
  • SV-218721r603259_rule
  • SV-63121
Malicious users with removable boot media can gain access to a system configured to use removable media as the boot loader.
Checks: C-20196r556580_chk

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

Fix: F-20194r556581_fix

Configure the system to use a bootloader installed on fixed media.

c
For systems capable of using GRUB, the system must be configured with GRUB as the default boot loader unless another boot loader has been authorized, justified, and documented using site-defined procedures.
CM-6 - High - CCI-000366 - V-218722 - SV-218722r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN008660
Vuln IDs
  • V-218722
  • V-4248
Rule IDs
  • SV-218722r603259_rule
  • SV-63115
GRUB is a versatile boot loader used by several platforms that can provide authentication for access to the system or boot loader.
Checks: C-20197r556583_chk

Determine if the system uses the GRUB boot loader; # ls -l /boot/grub/grub.conf If no grub.conf file exists, and the bootloader on the system has not been authorized, justified, and documented, this is a finding.

Fix: F-20195r556584_fix

Configure the system to use the GRUB bootloader or document, justify, and authorize the alternate bootloader.

c
If the system boots from removable media, it must be stored in a safe or similarly secured container.
CM-6 - High - CCI-000366 - V-218723 - SV-218723r603259_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN008680
Vuln IDs
  • V-218723
  • V-4255
Rule IDs
  • SV-218723r603259_rule
  • SV-63107
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.
Checks: C-20198r562945_chk

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: F-20196r562946_fix

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

c
The system boot loader must require authentication.
AC-3 - High - CCI-000213 - V-218724 - SV-218724r603259_rule
RMF Control
AC-3
Severity
High
CCI
CCI-000213
Version
GEN008700
Vuln IDs
  • V-218724
  • V-4249
Rule IDs
  • SV-218724r603259_rule
  • SV-63105
If the system's boot loader does not require authentication, users with console access to the system may be able to alter the system boot configuration or boot the system into single user or maintenance mode, which could result in Denial of Service or unauthorized privileged access to the system.
Checks: C-20199r556589_chk

Check the "/boot/grub/grub.conf" or "/boot/grub/menu.lst" files. # more /boot/grub/menu.lst Check for a password configuration line, such as: password --md5 &lt;password-hash&gt; This line should be just below the line beginning with "timeout". Please note &lt;password-hash&gt; will be replaced by the actual MD5 encrypted password. If the password line is not in either of the files, this is a finding. For any bootloader other than GRUB which has been authorized, justified and documented for use on the system refer to the vendor documentation on password support. If the bootloader does not support encrypted passwords, this is a finding.

Fix: F-20197r556590_fix

The GRUB console boot loader can be configured to use an MD5 encrypted password by adding password --md5 password-hash to the "/boot/grub/grub.conf" file. Use "/sbin/grub-md5-crypt" to generate MD5 passwords from the command line.

b
The system boot loader must protect passwords using an MD5 or stronger cryptographic hash.
AC-3 - Medium - CCI-000213 - V-218725 - SV-218725r603259_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
GEN008710
Vuln IDs
  • V-218725
  • V-24624
Rule IDs
  • SV-218725r603259_rule
  • SV-63097
If system boot loader passwords are compromised, users with console access to the system may be able to alter the system boot configuration or boot the system into single user or maintenance mode, which could result in Denial of Service or unauthorized privileged access to the system.
Checks: C-20200r556592_chk

Check GRUB for password configuration. Procedure: Check the /boot/grub/grub.conf or /boot/grub/menu.lst files. # grep "password" /boot/grub/grub.conf /boot/grub/menu.lst Check for a password configuration line, such as: password --md5 &lt;password-hash&gt; If the boot loader passwords are not protected using an MD5 hash or stronger, this is a finding.

Fix: F-20198r556593_fix

Consult vendor documentation for procedures concerning the system's boot loader. Configure the boot loader to hash boot loader passwords using MD5 or a stronger hash.

b
The systems boot loader configuration file(s) must have mode 0600 or less permissive.
AC-6 - Medium - CCI-000225 - V-218726 - SV-218726r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008720
Vuln IDs
  • V-218726
  • V-4250
Rule IDs
  • SV-218726r603259_rule
  • SV-63093
File permissions greater than 0600 on boot loader configuration files could allow an unauthorized user to view or modify sensitive information pertaining to system boot instructions.
Checks: C-20201r562948_chk

Check /boot/grub/grub.conf permissions: # ls -lL /boot/grub/grub.conf If /boot/grub/grub.conf has a mode more permissive than 0600, then this is a finding. For any bootloader other than GRUB which has been authorized, justified and documented for use on the system refer to the vendor documentation for the location of the configuration file. If the bootloader configuration file has a mode more permissive than 0600, this is a finding.

Fix: F-20199r562949_fix

Change the mode of the grub.conf file to 0600. # chmod 0600 /boot/grub/grub.conf

b
The systems boot loader configuration file(s) must not have extended ACLs.
AC-6 - Medium - CCI-000225 - V-218727 - SV-218727r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008740
Vuln IDs
  • V-218727
  • V-22585
Rule IDs
  • SV-218727r603259_rule
  • SV-63091
File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files. If extended ACLs are present on the system's boot loader configuration file(s), these files may be vulnerable to unauthorized access or modification, which could compromise the system's boot process.
Checks: C-20202r562951_chk

Check the permissions of the file. # ls -lL /boot/grub/grub.conf If the permissions of the file or directory contains a '+', an extended ACL is present. This is a finding.

Fix: F-20200r562952_fix

Remove the extended ACL from the file. # setfacl --remove-all /boot/grub/grub.conf

b
The systems boot loader configuration files must be owned by root.
AC-6 - Medium - CCI-000225 - V-218728 - SV-218728r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008760
Vuln IDs
  • V-218728
  • V-22586
Rule IDs
  • SV-218728r603259_rule
  • SV-63089
The system's boot loader configuration files are critical to the integrity of the system and must be protected. Unauthorized modification of these files resulting from improper ownership could compromise the system's boot loader configuration.
Checks: C-20203r562954_chk

Check the ownership of the file. # ls -lLd /boot/grub/grub.conf If the owner of the file is not root, this is a finding.

Fix: F-20201r562955_fix

Change the ownership of the file. # chown root /boot/grub/grub.conf

b
The systems boot loader configuration file(s) must be group-owned by root, bin, sys, or system.
AC-6 - Medium - CCI-000225 - V-218729 - SV-218729r603259_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-000225
Version
GEN008780
Vuln IDs
  • V-218729
  • V-22587
Rule IDs
  • SV-218729r603259_rule
  • SV-63069
The system's boot loader configuration files are critical to the integrity of the system and must be protected. Unauthorized modifications resulting from improper group ownership may compromise the boot loader configuration.
Checks: C-20204r562957_chk

Check the group ownership of the file. # ls -lLd /boot/grub/grub.conf If the group-owner of the file is not root, bin, sys, or system this is a finding.

Fix: F-20202r562958_fix

Change the group ownership of the file. # chgrp root /boot/grub/grub.conf

a
The system package management tool must cryptographically verify the authenticity of software packages during installation.
CM-5 - Low - CCI-000351 - V-218730 - SV-218730r603259_rule
RMF Control
CM-5
Severity
Low
CCI
CCI-000351
Version
GEN008800
Vuln IDs
  • V-218730
  • V-22588
Rule IDs
  • SV-218730r603259_rule
  • SV-63027
To prevent the installation of software from unauthorized sources, the system package management tool must use cryptographic algorithms to verify the packages are authentic.
Checks: C-20205r562960_chk

Verify YUM signature validation is not disabled. # grep gpgcheck /etc/yum.conf /etc/yum.repos.d/* If no results are returned, or the returned "gpgcheck" settings are not equal to "1", this is a finding.

Fix: F-20203r562961_fix

Edit the YUM configuration containing "gpgcheck=0" and set the value to "1".

a
The system package management tool must not automatically obtain updates.
SI-2 - Low - CCI-001233 - V-218731 - SV-218731r603259_rule
RMF Control
SI-2
Severity
Low
CCI
CCI-001233
Version
GEN008820
Vuln IDs
  • V-218731
  • V-22589
Rule IDs
  • SV-218731r603259_rule
  • SV-63025
System package management tools can obtain a list of updates and patches from a package repository and make this information available to the SA for review and action. Using a package repository outside of the organization's control presents a risk of malicious packages being introduced.
Checks: C-20206r556610_chk

Verify the YUM service is enabled. # service yum-updatesd status If the service is enabled, this is a finding.

Fix: F-20204r556611_fix

Disable the yum service. # chkconfig yum-updatesd off ; service yum-updatesd stop

b
The system, if capable, must be configured to require the use of a CAC, PIV compliant hardware token, or Alternate Logon Token (ALT) for authentication.
IA-2 - Medium - CCI-000768 - V-218732 - SV-218732r603259_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000768
Version
GEN009120
Vuln IDs
  • V-218732
  • V-24347
Rule IDs
  • SV-218732r603259_rule
  • SV-63005
In accordance with CTO 07-015 PKI authentication is required. This provides stronger, two-factor authentication than using a username/password. NOTE: The following are exempt from this, however, they must meet all password requirements and must be documented with the IAO: - Stand-alone systems. - Application Accounts. - Students or unpaid employees (such as, interns) who are not eligible to receive or not in receipt of a CAC, PIV, or ALT. - Warfighters and support personnel located at operational tactical locations conducting wartime operations that are not collocated with RAPIDS workstations to issue CAC; are not eligible for CAC or do not have the capability to use ALT. - Test systems that have an Interim Approval to Test (IATT) and provide protection via separate VPN, firewall, or security measures preventing access to network and system components from outside the protection boundary documented in the IATT.
Checks: C-20207r556613_chk

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: F-20205r556614_fix

Consult vendor documentation to determine the procedures necessary for configuring CAC authentication. Configure all accounts required by policy to use CAC authentication.

b
Wireless network adapters must be disabled.
SC-8 - Medium - CCI-002418 - V-230182 - SV-230182r603259_rule
RMF Control
SC-8
Severity
Medium
CCI
CCI-002418
Version
GEN007841
Vuln IDs
  • V-230182
  • V-72771
Rule IDs
  • SV-230182r603259_rule
  • SV-87413
The use of wireless networking can introduce many different attack vectors into the organization's network. Common attack vectors such as malicious association and ad hoc networks will allow an attacker to spoof a wireless access point (AP), allowing validated systems to connect to the malicious AP and enabling the attacker to monitor and record network traffic. These malicious APs can also serve to create a man-in-the-middle attack or be used to create a denial of service to valid network resources.
Checks: C-32516r562963_chk

This is N/A for systems that do not have wireless network adapters. Verify that there are no wireless interfaces configured on the system: # ifconfig -a eth0 Link encap:Ethernet HWaddr b8:ac:6f:65:31:e5 inet addr:192.168.2.100 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::baac:6fff:fe65:31e5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2697529 errors:0 dropped:0 overruns:0 frame:0 TX packets:2630541 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2159382827 (2.0 GiB) TX bytes:1389552776 (1.2 GiB) Interrupt:17 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2849 errors:0 dropped:0 overruns:0 frame:0 TX packets:2849 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2778290 (2.6 MiB) TX bytes:2778290 (2.6 MiB) If a wireless interface is configured, it must be documented and approved by the local Authorizing Official. If a wireless interface is configured and has not been documented and approved, this is a finding.

Fix: F-32494r562964_fix

Configure the system to disable all wireless network interfaces.