Solaris 10 SPARC Security Technical Implementation Guide

  • Version/Release: V2R4
  • Published: 2022-11-18
  • 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

The Solaris 10 (SPARC) Security Technical Implementation Guide (STIG) is published as a tool to improve the security of Department of Defense (DoD) information systems. Comments or proposed revisions to this document should be sent via e-mail to the following address: disa.stig_spt@mail.mil.
b
The ASET master files must be located in the /usr/aset/masters directory.
AC-4 - Medium - CCI-000032 - V-220017 - SV-220017r603265_rule
RMF Control
AC-4
Severity
Medium
CCI
CCI-000032
Version
GEN000000-SOL00120
Vuln IDs
  • V-220017
  • V-4313
Rule IDs
  • SV-220017r603265_rule
  • SV-36751
If ASET is used and the master files (tune.high, tune.med, tune.low, and uid_aliases) are not located in the proper place, ASET cannot operate correctly and valuable security findings could be lost.
Checks: C-36359r602680_chk

Verify ASET is being used. # crontab -l |grep aset If there is an output, then check to make sure the files in question are in the /usr/aset/masters directory. # ls -l /usr/aset/masters The following files should be in the listing: tune.high, tune.low, tune.med, and uid_aliases. If any of the files are not in the directory listing, this is a finding.

Fix: F-36323r602681_fix

Install the default ASET configuration files.

b
The asetenv file YPCHECK variable must be set to true when NIS+ is configured.
CM-6 - Medium - CCI-000366 - V-220018 - SV-220018r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00200
Vuln IDs
  • V-220018
  • V-954
Rule IDs
  • SV-220018r603265_rule
  • SV-36750
If YPCHECK is not set to true in asetenv, then ypfiles may not be checked.
Checks: C-21727r482600_chk

Perform the following to determine if ASET is configured to check NIS+. # grep YPCHECK /usr/aset/asetenv If NIS+ is running and the YPCHECK variable is set to false, then this is a finding.

Fix: F-21726r482601_fix

Edit the ASET configuration and set YPCHECK to true on systems running NIS. (If NIS+ is configured, YPCHECK must only be set to false to avoid going into NIS compatibility mode.) Configure NIS to use YPCHECK.

b
The system must require authentication upon booting into single-user and maintenance modes.
AC-3 - Medium - CCI-000213 - V-220019 - SV-220019r603265_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-000213
Version
GEN000020
Vuln IDs
  • V-220019
  • V-756
Rule IDs
  • SV-220019r603265_rule
  • SV-36753
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-21728r482651_chk

This can be checked in the /etc/default/sulogin file (on Solaris 5.X systems) to check if the system runs sulogin, or an equivalent, when booting into single-user mode.

Fix: F-21727r482652_fix

Edit /etc/default/sulogin and set PASSREQ=YES or remove /etc/default/sulogin entirely. NOTE: This is a default on Solaris 5.5.1 and later.

b
Direct logins must not be permitted to shared, default, application, or utility accounts.
IA-2 - Medium - CCI-000770 - V-220020 - SV-220020r603265_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000770
Version
GEN000280
Vuln IDs
  • V-220020
  • V-760
Rule IDs
  • SV-220020r603265_rule
  • SV-41504
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-36360r602683_chk

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

Fix: F-36324r602684_fix

Use the switch user (su) command from a named account login to access shared accounts. Maintain audit trails that identify the actual user of the account name. Document requirements and procedures for users/administrators to log into their own accounts first and then switch user (su) to the shared account.

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

Verify RETRIES is set in the login file. # grep RETRIES /etc/default/login If RETRIES is not set or is more than 3, this is a finding. Verify the account locks after invalid login attempts. # grep LOCK_AFTER_RETRIES /etc/security/policy.conf If LOCK_AFTER_RETRIES is not set to YES, this is a finding.

Fix: F-21729r482727_fix

Set RETRIES to 3 in the /etc/default/login file. #vi /etc/default/login Set LOCK_AFTER_RETRIES to YES in the /etc/security/policy.conf file. #vi /etc/security/policy.conf

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

Check the SLEEPTIME parameter in the /etc/default/login file. # grep SLEEPTIME /etc/default/login If SLEEPTIME is not listed, commented out, or less than 4, this is a finding.

Fix: F-21730r482730_fix

Edit the /etc/default/login file and set SLEEPTIME to 4.

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.
AC-11 - Medium - CCI-000057 - V-220023 - SV-220023r603265_rule
RMF Control
AC-11
Severity
Medium
CCI
CCI-000057
Version
GEN000500
Vuln IDs
  • V-220023
  • V-4083
Rule IDs
  • SV-220023r603265_rule
  • SV-39814
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-36361r602686_chk

Examine the dtsession timeout variable setting: # cat /etc/dt/config/C/sys.resources | grep -i dtsession | grep -i lockTimeout If the dtsession timeout is greater than 15, commented or does not exist, this is a finding. Examine the Open Windows timeout settings, both global and for every user. # cat /usr/openwin/lib/app-defaults/XScreenSaver | egrep -i '\*(lock|timeout):' If the global Open Windows timeout is greater than 15 minutes, commented or does not exist, this is a finding. If the global lock setting is not true, this is a finding. # cut -d: -f6 /etc/passwd | xargs -iX egrep -i '^(lock|timeout):' X/.xscreensaver If the Open Windows timeout is greater than 15 minutes for any user, this is a finding. If the lock setting is not true for any user, this is a finding.

Fix: F-36325r602687_fix

Configure the CDE lock manager to lock your screen after a certain amount of inactive time. To configure the CDE lock manager to lock the screen after 15 minutes of inactive time, enter the following commands (be sure NOT to overwrite an existing file). # cp /usr/dt/config/C/sys.resources /etc/dt/config/C/sys.resources # vi /etc/dt/config/C/sys.resources Locate and add/uncomment/change the line to N=15. dtsession*lockTimeout: <N> dtsession*lockTimeout: 15 Log out of CDE and log back in to verify that the timeout is in effect. The timeout parameter in /usr/openwin/lib/app-defaults/XScreenSaver and all users' .xscreensaver files should also be confirmed to be uncommented and set to 0:15:00.

b
Accounts must be locked upon 35 days of inactivity.
AC-2 - Medium - CCI-000017 - V-220024 - SV-220024r603265_rule
RMF Control
AC-2
Severity
Medium
CCI
CCI-000017
Version
GEN000760
Vuln IDs
  • V-220024
  • V-918
Rule IDs
  • SV-220024r603265_rule
  • SV-39824
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-36362r602689_chk

Indications of inactive accounts are those without entries in the last log. Check the date in the last log to verify it is within the last 35 days. Obtain a listing of user accounts. #cat /etc/passwd | cut -f1 -d ":" Run the last command for each user account. # last &lt; user account &gt; If any user's account has not been accessed in the last 35 days and the 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. If an inactive account is found that is not disabled, this is a finding.

Fix: F-36326r602690_fix

All inactive accounts will have /bin/false, /usr/bin/false, or /dev/null as the default shell in the /etc/passwd file and have the password disabled. Disable the inactive accounts. Examine the inactive accounts using the last command. Note the date of last login for each account. If any (other than system and application accounts) exceed 35 days, then disable them by placing a shell of /bin/false or /dev/null in the shell field of the passwd file entry for that account. An alternative, and preferable method, is to disable the account using smc or the passwd command. # passwd -l < account to lock >

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

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

Fix: F-21733r482793_fix

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

b
The root account must not have world-writable directories in its executable search path.
CM-6 - Medium - CCI-000366 - V-220026 - SV-220026r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000960
Vuln IDs
  • V-220026
  • V-777
Rule IDs
  • SV-220026r603265_rule
  • SV-37075
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-36363r602692_chk

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

Fix: F-36327r602693_fix

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

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

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

Fix: F-21736r482877_fix

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

b
All interactive user's home directories must be owned by their respective users.
CM-6 - Medium - CCI-000366 - V-220029 - SV-220029r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001500
Vuln IDs
  • V-220029
  • V-902
Rule IDs
  • SV-220029r603265_rule
  • SV-39822
If users do not own their home directories, unauthorized users could access user files.
Checks: C-21738r482984_chk

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

Fix: F-21737r482985_fix

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

b
All interactive user's home directories must be group-owned by the home directory owner's primary group.
CM-6 - Medium - CCI-000366 - V-220030 - SV-220030r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001520
Vuln IDs
  • V-220030
  • V-903
Rule IDs
  • SV-220030r603265_rule
  • SV-39823
If the GID of the home directory is not the same as the GID of the user, this would allow unauthorized access to files.
Checks: C-21739r482987_chk

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

Fix: F-21738r482988_fix

Change the group owner for user's home directories to the primary group of the assigned user. Procedure: # chgrp groupname directoryname (Replace examples with appropriate group and home directory.) Document all changes.

b
All global initialization files must have mode 0644 or less permissive.
CM-6 - Medium - CCI-000366 - V-220031 - SV-220031r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001720
Vuln IDs
  • V-220031
  • V-11981
Rule IDs
  • SV-220031r603265_rule
  • SV-39829
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-21740r483029_chk

Check global initialization files permissions. # ls -l /etc/.login # ls -l /etc/profile # ls -l /etc/bashrc # ls -l /etc/environment # ls -l /etc/security/environ # ls -l /etc/csh.login # ls -l /etc/csh.cshrc If global initialization files exist and are more permissive than 0644, this is a finding.

Fix: F-21739r483030_fix

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

b
All global initialization files must be owned by root.
CM-6 - Medium - CCI-000366 - V-220032 - SV-220032r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001740
Vuln IDs
  • V-220032
  • V-11982
Rule IDs
  • SV-220032r603265_rule
  • SV-39830
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-21741r483035_chk

Check the ownership of global initialization files. Procedure: # ls -lL /etc/.login /etc/profile /etc/bashrc /etc/environment /etc/security/environ /etc/csh.login /etc/csh.cshrc If any global initialization file exists and is not owned by root, this is a finding.

Fix: F-21740r483036_fix

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

b
All global initialization files must be group-owned by root, sys, or bin.
CM-6 - Medium - CCI-000366 - V-220033 - SV-220033r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001760
Vuln IDs
  • V-220033
  • V-11983
Rule IDs
  • SV-220033r603265_rule
  • SV-39831
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-21742r483038_chk

Check the group ownership of global initialization files. Procedure: # ls -lL /etc/.login /etc/profile /etc/bashrc /etc/environment /etc/security/environ /etc/csh.login /etc/csh.cshrc If any global initialization file exists and is not group-owned by root, sys, or bin, this is a finding.

Fix: F-21741r483039_fix

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

a
Global initialization files must contain the mesg -n or mesg n commands.
CM-6 - Low - CCI-000366 - V-220034 - SV-220034r603265_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN001780
Vuln IDs
  • V-220034
  • V-825
Rule IDs
  • SV-220034r603265_rule
  • SV-39828
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-21743r483041_chk

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

Fix: F-21742r483042_fix

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

b
Local initialization files must be group-owned by the user's primary group or root.
CM-6 - Medium - CCI-000366 - V-220035 - SV-220035r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001870
Vuln IDs
  • V-220035
  • V-22361
Rule IDs
  • SV-220035r603265_rule
  • SV-37101
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-21744r483068_chk

Check user home directories for local initialization files group-owned by a group other than the user's primary group or root. 1. List user accounts and their primary GID. # cut -d : -f 1,4 /etc/passwd 2. Check local initialization files for each user. # ls -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 ! -group &lt;primary_group&gt; -exec ls -ld {} \; 3. If any file is not group-owned by root or the user's primary GID, this is a finding.

Fix: F-21743r483069_fix

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

b
Removable media, remote file systems, and any file system that does not contain approved setuid files must be mounted with the "nosuid" option.
CM-7 - Medium - CCI-001764 - V-220036 - SV-220036r854394_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-001764
Version
GEN002420
Vuln IDs
  • V-220036
  • V-805
Rule IDs
  • SV-220036r854394_rule
  • SV-39813
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 that does not contain approved setuid files. Executing setuid files from untrusted file systems, or file systems that do not contain approved setuid files, increases the opportunity for unprivileged users to attain unauthorized administrative access.
Checks: C-36364r602695_chk

Check /etc/vfstab and verify the "nosuid" mount option is used on any user filesystem (such as /export/home) or filesystems mounted from removable media or network shares. # cat /etc/vfstab Check zfs filesystems for setuid mounts. #zfs get setuid

Fix: F-36328r602696_fix

Use the following procedure for UFS filesystems. Edit /etc/vfstab and add the "nosuid" mount option to any user filesystem (such as /export/home) or filesystems mounted from removable media or network shares. Use the following procedure for ZFS filesystems. # zfs setuid = off < file system >

b
The system must not be configured for network bridging.
CM-6 - Medium - CCI-000366 - V-220037 - SV-220037r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN003619
Vuln IDs
  • V-220037
  • V-22421
Rule IDs
  • SV-220037r603265_rule
  • SV-42308
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-21746r484984_chk

Ask the system administrator if network bridging software is installed on the system or the system is configured for network bridging. If network bridging software is installed or the system is configured for network bridging, this is a finding.

Fix: F-21745r484985_fix

Remove the network bridging software and configuration from the system.

b
The portmap or rpcbind service must not be running unless needed.
CM-6 - Medium - CCI-000366 - V-220038 - SV-220038r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN003810
Vuln IDs
  • V-220038
  • V-22429
Rule IDs
  • SV-220038r603265_rule
  • SV-26664
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-21747r485035_chk

Check the status of the rpcbind service. # svcs network/rpc/bind If the service is online and is not documented as required, this is a finding.

Fix: F-21746r485036_fix

Disable the portmap service. # svcadm disable network/rpc/bind

c
The rsh daemon must not be running.
AC-17 - High - CCI-000068 - V-220039 - SV-220039r603265_rule
RMF Control
AC-17
Severity
High
CCI
CCI-000068
Version
GEN003820
Vuln IDs
  • V-220039
  • V-4687
Rule IDs
  • SV-220039r603265_rule
  • SV-27435
The rshd process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service. Satisfies: SRG-OS-000033, SRG-OS-000505, SRG-OS-000555
Checks: C-21748r485041_chk

# svcs network/shell If the service is enabled, this is a finding.

Fix: F-21747r485042_fix

Disable the remote shell service and restart inetd. Procedure: # svcadm disable network/shell # svcadm refresh inetd

b
The rlogind service must not be running.
AC-17 - Medium - CCI-000068 - V-220040 - SV-220040r603265_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-000068
Version
GEN003830
Vuln IDs
  • V-220040
  • V-22432
Rule IDs
  • SV-220040r603265_rule
  • SV-39863
The rlogind process provides a typically unencrypted, host-authenticated remote access service. SSH should be used in place of this service. Satisfies: SRG-OS-000033, SRG-OS-000505, SRG-OS-000555
Checks: C-21749r485047_chk

Determine if the rlogind service is running. # svcs rlogin If the rlogin service is enabled, this is a finding.

Fix: F-21748r485048_fix

Disable the rlogind service. # svcadm disable rlogin # svcadm refresh inetd

b
Network analysis tools must not be installed.
CM-7 - Medium - CCI-000381 - V-220041 - SV-220041r603265_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN003865
Vuln IDs
  • V-220041
  • V-12049
Rule IDs
  • SV-220041r603265_rule
  • SV-40811
Network analysis tools allow for the capture of network traffic visible to the system.
Checks: C-21750r485065_chk

Determine if any network analysis tools are installed. Procedure: # find / -name ethereal # find / -name wireshark # find / -name tshark # find / -name netcat # find / -name tcpdump # find / -name snoop If any network analysis tools are found, this is a finding.

Fix: F-21749r485066_fix

Remove the network analysis tool binary from the system. The snoop binary is part of the SUNWrcmdc package, which may also be removed if none of its components are required. Procedure: # rm <binary> # pkgrm SUNWrcmdc

b
The hosts.lpd (or equivalent) file must be group-owned by root, bin, or sys.
CM-6 - Medium - CCI-000366 - V-220043 - SV-220043r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN003930
Vuln IDs
  • V-220043
  • V-22435
Rule IDs
  • SV-220043r603265_rule
  • SV-37456
Failure to give group ownership of the hosts.lpd (or equivalent) file to root, bin, sys, or system provides the members of the owning group and possible unauthorized users, with the potential to modify it. Unauthorized modifications could disrupt access to local printers from authorized remote hosts or permit unauthorized remote access to local printers.
Checks: C-21752r485073_chk

Check the group ownership of the print service configuration files. Procedure: # ls -lL /etc/printers.conf /etc/apache/httpd-standalone-ipp.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If the files are not group-owned by root, bin, or sys, this is a finding.

Fix: F-21751r485074_fix

Change the group owner of the print service configuration files. Procedure: # chgrp bin /etc/apache/httpd-standalone-ipp.conf # chgrp root /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf

b
The aliases file must be group-owned by root, sys, smmsp, or bin.
CM-6 - Medium - CCI-000366 - V-220045 - SV-220045r858545_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN004370
Vuln IDs
  • V-220045
  • V-22438
Rule IDs
  • SV-220045r858545_rule
  • SV-37458
If the alias file is not group-owned by root or a system group, an unauthorized user may modify the file to add aliases to run malicious code or redirect email.
Checks: C-21754r858544_chk

Note: If sendmail is not installed, this requirement is not applicable. Find the alias files on the system. Procedure: # egrep '^O(A| AliasFile)' /etc/mail/sendmail.cf If the "alias file" is an NIS or LDAP map, this check is not applicable. The default location is /etc/mail/aliases. Check the group ownership of the alias file and the hashed version of it used by sendmail. Procedure: # ls -lL /etc/mail/aliases /etc/mail/aliases.db If the files are not group-owned by root, sys, smmsp, or bin, this is a finding.

Fix: F-21753r485100_fix

Change the group owner of the /etc/mail/aliases files. Procedure: # chgrp bin /etc/mail/aliases # chgrp smmsp /etc/mail/aliases.db

b
The SMTP service HELP command must not be enabled.
CM-6 - Medium - CCI-000366 - V-220046 - SV-220046r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN004540
Vuln IDs
  • V-220046
  • V-12006
Rule IDs
  • SV-220046r603265_rule
  • SV-42309
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-21755r485132_chk

Check if Help is disabled in Sendmail. Procedure: # telnet &lt;host&gt; 25 &gt; help If the help command returns any Sendmail version information, this is a finding. If telnet is unavailable for testing, check the value of the HelpFile parameter in the sendmail.cf file. # grep HelpFile /etc/mail/sendmail.cf If the contents of the file indicated by the HelpFile parameter contains any Sendmail version information, this is a finding.

Fix: F-21754r485133_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-220047 - SV-220047r603265_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN004560
Vuln IDs
  • V-220047
  • V-4384
Rule IDs
  • SV-220047r603265_rule
  • SV-42310
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-36365r602698_chk

Check for the Sendmail version being displayed in the greeting. # telnet localhost 25 If a version number is displayed, this is a finding. If telnet is unavailable for testing, check the value of the SmtpGreetingMessage parameter in the sendmail.cf file. # grep SmtpGreetingMessage /etc/mail/sendmail.cf If the value of the SmtpGreetingMessage parameter contains the $v or $Z macros, this is a finding.

Fix: F-36329r602699_fix

Ensure Sendmail or its equivalent has been configured to mask the version information. If necessary, 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

b
The system must not use .forward files.
CM-6 - Medium - CCI-000366 - V-220048 - SV-220048r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN004580
Vuln IDs
  • V-220048
  • V-4385
Rule IDs
  • SV-220048r603265_rule
  • SV-39827
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-21757r485138_chk

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

Fix: F-21756r485139_fix

Remove .forward files from the system. # rm .forward Update the sendmail.cf file to ignore .forward files by adding ForwardPath="".

c
The SMTP service must be an up-to-date version.
CM-6 - High - CCI-000366 - V-220049 - SV-220049r603265_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN004600
Vuln IDs
  • V-220049
  • V-4689
Rule IDs
  • SV-220049r603265_rule
  • SV-39819
The SMTP service version on the system must be current to avoid exposing vulnerabilities present in unpatched versions.
Checks: C-21758r485141_chk

Determine the version of the SMTP service software, using a non-privileged account. $ /usr/lib/sendmail -d0 -bt &lt; /dev/null (Note: While this command will report the sendmail version almost immediately, it will take several moments to return to the shell prompt. Press ctrl-C to terminate the sendmail process.) Version 8.14.4 is the latest required version. Version 8.14.4+Sun is available from Oracle for Solaris. If the sendmail version is not at least 8.14.4 or Oracle's latest version, this is a finding.

Fix: F-21757r485142_fix

Obtain and install the latest version of Sendmail from Oracle through normal software update processes, as implemented locally.

c
The Sendmail server must have the debug feature disabled.
CM-6 - High - CCI-000366 - V-220050 - SV-220050r603265_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN004620
Vuln IDs
  • V-220050
  • V-4690
Rule IDs
  • SV-220050r603265_rule
  • SV-42311
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-21759r485144_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, this is a finding. If telnet is unavailable for testing, check the version of sendmail. Run the following as a non-privileged user. $ echo \$Z | /usr/sbin/sendmail -bt -d0 If the version reported is less than 8.6, this is a finding.

Fix: F-21758r485145_fix

Obtain and install a more recent version of Sendmail, which does not implement the DEBUG feature.

c
The SMTP service must not have a uudecode alias active.
CM-7 - High - CCI-000381 - V-220051 - SV-220051r603265_rule
RMF Control
CM-7
Severity
High
CCI
CCI-000381
Version
GEN004640
Vuln IDs
  • V-220051
  • V-4691
Rule IDs
  • SV-220051r603265_rule
  • SV-42312
A common configuration for older Mail Transfer Agents (MTAs) includes an alias for the decode user. All mail sent to this user is sent to the uudecode program, which automatically converts and stores files. By sending mail to decode or uudecode aliases present on some systems, a remote attacker may be able to create or overwrite files on the remote host. This could possibly be used to gain remote access.
Checks: C-21760r485147_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. If telnet is unavailable for testing, check for the existence of the decode and uudecode aliases in the sendmail aliases file. Find the active sendmail aliases file. # grep AliasFile /etc/mail/sendmail.cf (The aliases file is usually at /etc/mail/aliases) Look for decode aliases in the aliases file. # grep decode /etc/mail/aliases If there is an uncommented decode or uudecode alias in the aliases file, this is a finding.

Fix: F-21759r485148_fix

Comment out active decode and uudecode aliases in the aliases file. # vi /usr/mail/aliases Activate updated aliases file. # newaliases

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.
CM-6 - Medium - CCI-000366 - V-220052 - SV-220052r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005120
Vuln IDs
  • V-220052
  • V-849
Rule IDs
  • SV-220052r603265_rule
  • SV-39825
If TFTP has a valid shell, it increases the likelihood of someone logging to the TFTP account and compromising the system.
Checks: C-21761r485207_chk

Verify the tftp service is enabled. # svcs tftp If the tftp service is not installed or enabled, this check is not applicable. Check the /etc/passwd file to determine if TFTP is configured properly. Procedure: # grep tftp /etc/passwd If a "tftp" user account does not exist and TFTP is active, this is a finding. Check the user shell for the "tftp" user. If it is not /bin/false or equivalent, this is a finding. Check the home directory assigned to the "tftp" user. If no home directory is set, or the directory specified is not dedicated to the use of the TFTP service, this is a finding.

Fix: F-21760r485208_fix

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

b
The system must not be used as a syslog server (log host) for systems external to the enclave.
CM-6 - Medium - CCI-000366 - V-220053 - SV-220053r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005440
Vuln IDs
  • V-220053
  • V-12020
Rule IDs
  • SV-220053r603265_rule
  • SV-41515
Syslog messages are typically unencrypted and may contain sensitive information and are, therefore, restricted to the enclave.
Checks: C-21762r485276_chk

Ask the SA if the log host server is collecting data for hosts outside the local enclave. If it is, this is a finding.

Fix: F-21761r485277_fix

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

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-220054 - SV-220054r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005480
Vuln IDs
  • V-220054
  • V-12021
Rule IDs
  • SV-220054r603265_rule
  • SV-28431
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-21763r485285_chk

# svcprop system-log | grep log_from_remote If the config/log_from_remote value is not false, this is a finding.

Fix: F-21762r485286_fix

# svccfg -s system-log setprop config/log_from_remote=false # svcadm refresh system-log

c
The SSH daemon must be configured to only use the SSHv2 protocol.
IA-2 - High - CCI-001941 - V-220055 - SV-220055r854395_rule
RMF Control
IA-2
Severity
High
CCI
CCI-001941
Version
GEN005500
Vuln IDs
  • V-220055
  • V-4295
Rule IDs
  • SV-220055r854395_rule
  • SV-39817
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-21764r485288_chk

Check the SSH daemon configuration for allowed protocol versions. # grep -i protocol /etc/ssh/sshd_config | grep -v '^#' If the variables Protocol 2,1 or Protocol 1 are defined on a line without a leading comment, this is a finding.

Fix: F-21763r485289_fix

Edit the configuration file and modify the Protocol line to look like: Protocol 2 Reload sshd: kill -HUP <PID of sshd>

b
IP forwarding for IPv4 must not be enabled, unless the system is a router.
CM-6 - Medium - CCI-000366 - V-220056 - SV-220056r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005600
Vuln IDs
  • V-220056
  • V-12023
Rule IDs
  • SV-220056r603265_rule
  • SV-28581
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-21765r485357_chk

Determine if the system is configured for IPv4 forwarding. # svcs | grep svc:/network/ipv4-forwarding If the service is enabled, this is a finding.

Fix: F-21764r485358_fix

Disable IPv4 forwarding on the system. # svcadm disable svc:/network/ipv4-forwarding

b
The system must not have IP forwarding for IPv6 enabled, unless the system is an IPv6 router.
CM-6 - Medium - CCI-000366 - V-220057 - SV-220057r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005610
Vuln IDs
  • V-220057
  • V-22491
Rule IDs
  • SV-220057r603265_rule
  • SV-26810
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-21766r485360_chk

Check if the system is configured for IPv6 forwarding. # ndd /dev/ip6 ip6_forwarding If the value is not 0, this is a finding.

Fix: F-21765r485361_fix

Disable IPv6 forwarding. # ndd -set /dev/ip6 ip6_forwarding 0 Edit startup scripts as necessary; add this command or remove commands setting the value to 1.

b
The NFS server must be configured to restrict file system access to local hosts.
CM-6 - Medium - CCI-000366 - V-220058 - SV-220058r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN005840
Vuln IDs
  • V-220058
  • V-933
Rule IDs
  • SV-220058r603265_rule
  • SV-40305
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-21767r485384_chk

Check the permissions on exported NFS file systems. Procedure: # exportfs -v OR # more /etc/dfs/sharetab 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-21766r485385_fix

Edit /etc/dfs/dfstab 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 system must not have a public Instant Messaging (IM) client installed.
CM-6 - Medium - CCI-000366 - V-220059 - SV-220059r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006000
Vuln IDs
  • V-220059
  • V-12024
Rule IDs
  • SV-220059r603265_rule
  • SV-41525
Public Instant Messaging (IM) systems are not approved for use and may result in the unauthorized distribution of information. IM clients provide a way for a user to send a message to one or more other users in real time. Additional capabilities may include file transfer and support for distributed game playing. Communication between clients and associated directory services are managed through messaging servers. Commercial IM clients include AOL Instant Messenger (AIM), MSN Messenger, and Yahoo! Messenger. IM clients present a security issue when the clients route messages through public servers. The obvious implication is potentially sensitive information could be intercepted or altered in the course of transmission. This same issue is associated with the use of public email servers. In order to reduce the potential for disclosure of sensitive Government information and to ensure the validity of official government information, IM clients connecting to public IM services will not be installed. Clients used to access internal or DoD-controlled IM services are permitted.
Checks: C-21768r485396_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-21767r485397_fix

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

b
The Samba Web Administration Tool (SWAT) must be restricted to the local host or require SSL.
CM-7 - Medium - CCI-000381 - V-220060 - SV-220060r603265_rule
RMF Control
CM-7
Severity
Medium
CCI
CCI-000381
Version
GEN006080
Vuln IDs
  • V-220060
  • V-1026
Rule IDs
  • SV-220060r603265_rule
  • SV-42313
SWAT is a tool used to configure Samba. As it modifies Samba configuration, which can impact system security, it must be protected from unauthorized access. SWAT authentication may involve the root password, which must be protected by encryption when traversing the network. Restricting access to the local host allows for the use of SSH TCP forwarding, if configured, or administration by a web browser on the local system.
Checks: C-36366r602701_chk

Verify the SWAT daemon is running under inetd. # svcs swat If SWAT is disabled or not installed, this is not applicable. Verify that TCP_wrappers is enabled for the SWAT daemon. # inetadm -l swat | grep tcp_wrappers If the tcp_wrappers value is unset or is set to FALSE, this is a finding. Verify access to the SWAT daemon is limited to localhost through the use of TCP_Wrappers. # more /etc/hosts.allow # more /etc/hosts.deny If the hosts.allow and hosts.deny access control files are configured such that remote access to SWAT is enabled, this is a finding. Ask the SA if SSH port forwarding is used to enable remote access to SWAT. If it is, this is not a finding. If all access to SWAT is via localhost using a local web browser, this is not a finding.

Fix: F-36330r602702_fix

Enable tcp_wrappers for the SWAT daemon. # inetadm -m swat tcp_wrappers=true OR # inetadm -M tcp_wrappers=true Relfresh the inetd daemon. # svcadm refresh inetd Configure the hosts.allow and hosts.deny files to limit access to SWAT to localhost. Example: # echo ALL: ALL >> /etc/hosts.deny # echo swat: localhost >> /etc/hosts.allow

b
The system must have a host-based intrusion detection tool installed.
SI-2 - Medium - CCI-001233 - V-220061 - SV-220061r603265_rule
RMF Control
SI-2
Severity
Medium
CCI
CCI-001233
Version
GEN006480
Vuln IDs
  • V-220061
  • V-782
Rule IDs
  • SV-220061r603265_rule
  • SV-41526
Without a host-based intrusion detection tool, there is no system-level defense when an intruder gains access to a system or network. Additionally, a host-based intrusion detection tool can provide methods to immediately lock out detected intrusion attempts.
Checks: C-21770r485489_chk

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

Fix: F-21769r485490_fix

Install a host-based intrusion detection tool.

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.
SI-4 - Medium - CCI-001266 - V-220062 - SV-220062r603265_rule
RMF Control
SI-4
Severity
Medium
CCI
CCI-001266
Version
GEN006560
Vuln IDs
  • V-220062
  • V-12028
Rule IDs
  • SV-220062r603265_rule
  • SV-41530
Timely notifications of potential security compromises minimize the potential damage. Minimally, the system must log these events and the SA and the IAO will receive the notifications during the daily system log review. If feasible, active alerting (such as email or paging) should be employed consistent with the site's established operations management systems and procedures.
Checks: C-36367r602704_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-36331r602705_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.
SA-10 - Medium - CCI-000698 - V-220063 - SV-220063r603265_rule
RMF Control
SA-10
Severity
Medium
CCI
CCI-000698
Version
GEN006565
Vuln IDs
  • V-220063
  • V-22506
Rule IDs
  • SV-220063r603265_rule
  • SV-26857
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-21772r485495_chk

Check the root crontab (crontab -l) for the presence of a package check command, such as, pkgchk -n. If no such cron job is found, this is a finding.

Fix: F-21771r485496_fix

Add a cron job to run a package verification command, such as, pkgchk -n.

b
The system must use an access control program.
CM-6 - Medium - CCI-000366 - V-220064 - SV-220064r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006580
Vuln IDs
  • V-220064
  • V-940
Rule IDs
  • SV-220064r603265_rule
  • SV-28459
Access control programs (such as TCP_WRAPPERS) provide the ability to enhance system security posture.
Checks: C-21773r485507_chk

# svcprop -p defaults svc:/network/inetd | grep tcp_wrappers This should return a line with the following: defaults/tcp_wrappers boolean true If the above line contains the word false, this is a finding.

Fix: F-21772r485508_fix

Enable tcp_wrappers. # svccfg -s svc:/network/inetd setprop defaults/tcp_wrappers=true # svcadm refresh inetd

b
The system's access control program must be configured to grant or deny system access to specific hosts.
CM-6 - Medium - CCI-000366 - V-220065 - SV-220065r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN006620
Vuln IDs
  • V-220065
  • V-12030
Rule IDs
  • SV-220065r603265_rule
  • SV-41532
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-21774r485513_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 in the /etc/hosts.deny file, any TCP service from a host or network not matching other rules will be allowed access. If the entry is not in /etc/hosts.deny, this is a finding.

Fix: F-21773r485514_fix

Edit the /etc/hosts.allow and /etc/hosts.deny files to configure access restrictions.

b
Wireless network adapters must be disabled.
AC-18 - Medium - CCI-001443 - V-220066 - SV-220066r854396_rule
RMF Control
AC-18
Severity
Medium
CCI
CCI-001443
Version
GEN007841
Vuln IDs
  • V-220066
  • V-72771
Rule IDs
  • SV-220066r854396_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-36368r602707_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-36332r602708_fix

Configure the system to disable all wireless network interfaces.

b
The system must use an appropriate reverse-path filter for IPv6 network traffic, if the system uses IPv6.
CM-6 - Medium - CCI-000366 - V-220067 - SV-220067r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN007900
Vuln IDs
  • V-220067
  • V-22552
Rule IDs
  • SV-220067r603265_rule
  • SV-26227
Reverse-path filtering provides protection against spoofed source addresses by causing the system to discard packets with source addresses for which the system has no route or if the route does not point towards the interface on which the packet arrived. Depending on the role of the system, reverse-path filtering may cause legitimate traffic to be discarded and, therefore, should be used with a more permissive mode or filter, or not at all. Whenever possible, reverse-path filtering should be used.
Checks: C-21776r485543_chk

Determine if the system uses a reverse-path filter for IPv6 network traffic. If it does not, this is a finding.

Fix: F-21775r485544_fix

Configure the system to use a reverse-path filter for IPv6 network traffic.

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-220068 - SV-220068r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN008200
Vuln IDs
  • V-220068
  • V-22566
Rule IDs
  • SV-220068r603265_rule
  • SV-37427
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-21777r485576_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 permissions of the certificate database files. # ls -lL /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db If the permissions of any of the files contain a "+", and extended ACL is present, this is a finding.

Fix: F-21776r485577_fix

Remove the extended ACL from the certificate database files. # chmod A- /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db

c
The system must not use removable media as the boot loader.
CM-6 - High - CCI-000366 - V-220069 - SV-220069r603265_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN008640
Vuln IDs
  • V-220069
  • V-4247
Rule IDs
  • SV-220069r603265_rule
  • SV-41534
Malicious users with removable boot media can gain access to a system configured to use removable media as the boot loader.
Checks: C-21778r485603_chk

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

Fix: F-21777r485604_fix

Configure the system to use a bootloader installed on fixed media.

b
The nosuid option must be configured in the /etc/rmmount.conf file.
CM-6 - Medium - CCI-000366 - V-226405 - SV-226405r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00020
Vuln IDs
  • V-226405
  • V-12031
Rule IDs
  • SV-226405r603265_rule
  • SV-12532
The rmmount.conf file controls the mounting of removable media on a Solaris system. Removable media is not to be trusted with privileged access, and therefore the filesystems must be mounted with the nosuid option, which prevents any executables with the setuid bit set on this filesystem from running with owner privileges.
Checks: C-28566r482570_chk

# grep mount /etc/rmmount.conf Confirm the nosuid option is configured. mount * hsfs udfs ufs -o nosuid If the nosuid option is not configured in the /etc/rmmount.conf file, this is a finding.

Fix: F-28554r482571_fix

Edit /etc/rmmount.conf and add the nosuid mount option to the configuration.

b
The /etc/security/audit_user file must not define a different auditing level for specific users.
AU-12 - Medium - CCI-000172 - V-226406 - SV-226406r603265_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
GEN000000-SOL00040
Vuln IDs
  • V-226406
  • V-4353
Rule IDs
  • SV-226406r603265_rule
  • SV-4353
The audit_user file may be used to selectively audit more, or fewer, auditing features for specific individuals. If used this way it could subject the activity to a lawsuit and could cause the loss of valuable auditing data in the case of a system compromise. If an item is audited for one individual (other than for root and administrative users - who have more auditing features) it must be audited for all.
Checks: C-28567r482573_chk

Perform: # more /etc/security/audit_user If /etc/security/audit_user has entries other than root, ensure the users defined are audited with the same flags as all users as defined in /etc/security/audit_control file.

Fix: F-28555r482574_fix

Edit the audit_user file and remove specific user configurations differing from the global audit settings.

b
The /etc/security/audit_user file must be owned by root.
CM-6 - Medium - CCI-000366 - V-226407 - SV-226407r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00060
Vuln IDs
  • V-226407
  • V-4352
Rule IDs
  • SV-226407r603265_rule
  • SV-4352
The /etc/security/audit_user is a sensitive file and must be owned by root to prevent possible system compromise.
Checks: C-28568r482576_chk

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

Fix: F-28556r482577_fix

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

b
The /etc/security/audit_user file must be group-owned by root, sys, or bin.
CM-6 - Medium - CCI-000366 - V-226408 - SV-226408r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00080
Vuln IDs
  • V-226408
  • V-4351
Rule IDs
  • SV-226408r603265_rule
  • SV-4351
The Solaris audit_user file allows for selective auditing or non-auditing of features for certain users. If it is not protected, it could be compromised and used to mask audit events. This could cause the loss of valuable forensics data in the case of a system compromise.
Checks: C-28569r482579_chk

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

Fix: F-28557r482580_fix

Change the group owner of the audit_user file to root, bin, or sys. Example: # chgrp root /etc/security/audit_user

b
The /etc/security/audit_user file must have mode 0640 or less permissive.
AU-9 - Medium - CCI-000162 - V-226409 - SV-226409r603265_rule
RMF Control
AU-9
Severity
Medium
CCI
CCI-000162
Version
GEN000000-SOL00100
Vuln IDs
  • V-226409
  • V-4245
Rule IDs
  • SV-226409r603265_rule
  • SV-4245
Audit_user is a sensitive file that, if compromised, would allow a malicious user to select auditing parameters to ignore his sessions. This would allow malicious operations the auditing subsystem would not log for that user.
Checks: C-28570r482582_chk

Check /etc/security/audit_user permissions. # ls -lL /etc/security/audit_user If /etc/security/audit_user is more permissive than 0640, this is a finding.

Fix: F-28558r482583_fix

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

b
The /etc/security/audit_user file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-226410 - SV-226410r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00110
Vuln IDs
  • V-226410
  • V-22599
Rule IDs
  • SV-226410r603265_rule
  • SV-27004
Audit_user is a sensitive file that, if compromised, would allow a malicious user to select auditing parameters to ignore their sessions. This would allow malicious operations the auditing subsystem would not detect for that user. It could also result in long-term system compromise possibly leading to the compromise of other systems and networks.
Checks: C-28571r482585_chk

Check the permissions of the file. # ls -lL /etc/security/audit_user If the permissions of the file contain a "+", an extended ACL is present, this is a finding.

Fix: F-28559r482586_fix

Remove the extended ACL from the file. # chmod A- /etc/security/audit_user

b
The /usr/aset/masters/uid_aliases must be empty.
AC-4 - Medium - CCI-000032 - V-226411 - SV-226411r603265_rule
RMF Control
AC-4
Severity
Medium
CCI
CCI-000032
Version
GEN000000-SOL00140
Vuln IDs
  • V-226411
  • V-4312
Rule IDs
  • SV-226411r603265_rule
  • SV-4312
If uid_aliases has entries, users may not be properly identified in ASET records.
Checks: C-28572r482591_chk

# more /usr/aset/masters/uid_aliases If the /usr/aset/masters/uid_aliases file is not empty or all contents are not commented out, this is a finding.

Fix: F-28560r482592_fix

Empty or comment out the entries in the uid_aliases file.

b
If the system is a firewall, ASET must be used on the system, and the firewall parameters must be set in /usr/aset/asetenv.
AC-4 - Medium - CCI-000032 - V-226412 - SV-226412r603265_rule
RMF Control
AC-4
Severity
Medium
CCI
CCI-000032
Version
GEN000000-SOL00160
Vuln IDs
  • V-226412
  • V-4309
Rule IDs
  • SV-226412r603265_rule
  • SV-4309
ASET will not perform firewall tasks if it is not listed as a parameter in /usr/aset/asetenv.
Checks: C-28573r482594_chk

Perform the following to determine if ASET is being used. # crontab -l |grep aset A returned entry would indicate ASET is being utilized. Determine if ASET is configured to check firewall settings. # grep TASKS /usr/aset/asetenv | grep firewall If an entry is not returned, this is a finding.

Fix: F-28561r482595_fix

If the system is used as a firewall and ASET is used, ensure the firewall parameter is configured in /usr/aset/asetenv.

b
The Solaris system Automated Security Enhancement Tool (ASET) configurable parameters in the asetenv file must be correct.
CM-6 - Medium - CCI-000366 - V-226413 - SV-226413r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00180
Vuln IDs
  • V-226413
  • V-953
Rule IDs
  • SV-226413r603265_rule
  • SV-953
If settings in the asetenv file have been modified, then system vulnerabilities may not be detected.
Checks: C-28574r482597_chk

Determine if ASET is being used. # crontab -l | grep aset Check the configuration of ASET. # more /usr/aset/asetenv OR Check that asetenv has not been modified since installation. # pkgchk SUNWast If there are any changes below the following two lines that are not comments, this is a finding. # Don't change from here on down ... # # there shouldn't be any reason to. # In addition, if any of the following lines do not match, this is a finding. TASKS="firewall env sysconf usrgrp tune cklist eeprom" CKLISTPATH_LOW=${ASETDIR}/tasks:#${ASETDIR} \ /util:${ASETDIR}/masters:/etc CKLISTPATH_MED=${CKLISTPATH_LOW}:/usr/bin:/usr/ucb CKLISTPATH_HIGH=${CKLISTPATH_MED}:/usr/lib:/sbin: \ /usr/sbin:/usr/ucblib YPCHECK=false PERIODIC_SCHEDULE="0 0 * * *" UID_ALIASES=${ASETDIR}/masters/uid_aliases (The default asetenv file can be found on the Solaris installation media.)

Fix: F-28562r482598_fix

Restore the ASET configuration to vendor default and only modify the portions of the configuration designated as customizable.

b
The /usr/aset/userlist file must exist.
AC-4 - Medium - CCI-000032 - V-226414 - SV-226414r603265_rule
RMF Control
AC-4
Severity
Medium
CCI
CCI-000032
Version
GEN000000-SOL00220
Vuln IDs
  • V-226414
  • V-955
Rule IDs
  • SV-226414r603265_rule
  • SV-955
If the userlist file does not exist, then an unauthorized user may exist in the /etc/passwd file.
Checks: C-28575r482603_chk

Determine if ASET is being used. # crontab -l | grep aset If ASET is not used on the system, this is not applicable. If ASET is being used, but is not invoked with the "-u /usr/aset/userlist" option, this is a finding. Check the /usr/aset/userlist file. # ls -lL /usr/aset/userlist If /usr/aset/userlist file does not exist, this is a finding. An empty /usr/aset/userlist file, while not optimal, is not a finding.

Fix: F-28563r482604_fix

Create the /usr/aset/userlist file and populate it with a list of authorized users.

b
The /usr/aset/userlist file must be owned by root.
CM-6 - Medium - CCI-000366 - V-226415 - SV-226415r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00240
Vuln IDs
  • V-226415
  • V-956
Rule IDs
  • SV-226415r603265_rule
  • SV-956
If the userlist file is not owned by root, then an unauthorized user can modify the file and enter an unauthorized user.
Checks: C-28576r482606_chk

If ASET is not used on the system, this is not applicable. Check the ownership of the /usr/aset/userlist file. # ls -lL /usr/aset/userlist If the owner of the file is not root, this is a finding.

Fix: F-28564r482607_fix

Use the chmod command to change the owner of the /usr/aset/userlist file. # chown root /usr/aset/userlist

b
The /usr/aset/userlist file must be group-owned by root.
CM-6 - Medium - CCI-000366 - V-226416 - SV-226416r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00250
Vuln IDs
  • V-226416
  • V-22600
Rule IDs
  • SV-226416r603265_rule
  • SV-27013
The /usr/aset/userlist file is critical to system security and must be protected from unauthorized access.
Checks: C-28577r482609_chk

Check the group ownership of the file. # ls -lLd /usr/aset/userlist If the group owner of the file is not root, this is a finding.

Fix: F-28565r482610_fix

Change the group ownership of the file. # chgrp root /usr/aset/userlist

b
The /usr/aset/userlist file must have mode 0600 or less permissive.
CM-6 - Medium - CCI-000366 - V-226417 - SV-226417r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00260
Vuln IDs
  • V-226417
  • V-957
Rule IDs
  • SV-226417r603265_rule
  • SV-957
A permission mask not set to the required level could allow unauthorized access to sensitive system files and resources.
Checks: C-28578r482612_chk

# ls -lL /usr/aset/userlist If /usr/aset/userlist has a mode more permissive than 0600, this is a finding.

Fix: F-28566r482613_fix

Change the mode of the /usr/aset/userlist file to 0600. # chmod 0600 /usr/aset/userlist

b
The /usr/aset/userlist file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-226418 - SV-226418r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00270
Vuln IDs
  • V-226418
  • V-22601
Rule IDs
  • SV-226418r603265_rule
  • SV-27015
File system ACLs can provide access to files beyond what is allowed by the mode numbers of the files.
Checks: C-28579r482615_chk

Check the permissions of the file. # ls -lLd /usr/aset/userlist If the permissions of the file or directory contains a "+", an extended ACL is present, this is a finding.

Fix: F-28567r482616_fix

Remove the extended ACL from the file. # chmod A- /usr/aset/userlist

b
The Solaris system EEPROM security-mode parameter must be set to full or command mode.
CM-6 - Medium - CCI-000366 - V-226419 - SV-226419r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00300
Vuln IDs
  • V-226419
  • V-958
Rule IDs
  • SV-226419r603265_rule
  • SV-958
If the EEPROM security-mode parameter is not set to full or command, then unauthorized access to system EEPROM can take place. In normal situations, when the system is in a controlled access area and it is desirable to have it automatically reboot upon loss of and restoring of power, for instance, then command mode with the autoboot parameter set to true is recommended.
Checks: C-28580r482618_chk

If the system does not have an OBP / EEPROM, this is not applicable. # eeprom | grep security-mode If the EEPROM security-mode parameter is not set to full or command, this is a finding.

Fix: F-28568r482619_fix

Set the system EEPROM security-mode parameter to full or command. # eeprom security-mode=full OR # eeprom security-mode=command The system will prompt the user for a password. This should be securely stored.

b
The NFS server must have logging implemented.
AU-12 - Medium - CCI-000172 - V-226420 - SV-226420r603265_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
GEN000000-SOL00400
Vuln IDs
  • V-226420
  • V-4300
Rule IDs
  • SV-226420r603265_rule
  • SV-40041
Filesystem logging, especially for NFS exported file systems, can be critical to detecting data misuse and possible hardware/system errors that may, otherwise, go unnoticed.
Checks: C-36369r602710_chk

To enable NFS server logging the log option must be applied to all exported file systems in the /etc/dfs/dfstab. Perform the following to verify NFS is enabled. # share The preceding command will display all exported filesystems. Each line should contain a log entry to indicate logging is enabled. If the log entry is not present, this is a finding. If the share command does not return anything, then this is not an NFS server and this is considered not applicable. NFS version 4 does not support server logging. Verify NFS_SERVER_VERSMAX in /etc/default/nfs. # grep NFS_SERVER_VERSMAX /etc/default/nfs If NFS_SERVER_VERSMAX is commented out or set to any value but 2 or 3, this is a finding.

Fix: F-36333r602711_fix

Edit /etc/dfs/dfstab and add the log option to all exported filesystems. Run the shareall command for the changes to take effect. NFS version 2 or 3 must be forced by updating the NFS_SERVER_VERSMAX variable appropriately in /etc/default/nfs and restarting the NFS daemon.

b
Hidden extended file attributes must not exist on the system.
AC-4 - Medium - CCI-000032 - V-226421 - SV-226421r603265_rule
RMF Control
AC-4
Severity
Medium
CCI
CCI-000032
Version
GEN000000-SOL00420
Vuln IDs
  • V-226421
  • V-12032
Rule IDs
  • SV-226421r603265_rule
  • SV-12533
Solaris extended attributes are essentially files themselves that are of an arbitrary size and content. They could be used to hide files from ordinary system file scans.
Checks: C-28582r482624_chk

Search for all files with hidden extended attributes. # find / -xattr -print -exec runat {} ls -al \; If hidden extended file attributes exist, this is a finding.

Fix: F-28570r482625_fix

Remove the hidden extended file attributes. # runat <file name> rm <attribute name>

c
The root account must be the only account with GID of 0.
CM-6 - High - CCI-000366 - V-226422 - SV-226422r603265_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN000000-SOL00440
Vuln IDs
  • V-226422
  • V-12033
Rule IDs
  • SV-226422r603265_rule
  • SV-12534
Accounts with a GID of 0 have root group privileges.
Checks: C-28583r482627_chk

Check passwd and group files for non-root user ids and group ids with a GID of 0. # more /etc/passwd # more /etc/group OR # awk -F: '$4 == 0' /etc/passwd # awk -F: '$3 == 0' /etc/group Confirm the only account with a group id of 0 is root. If the root account is not the only account with GID of 0, this is a finding.

Fix: F-28571r482628_fix

Change the default GID of non-root accounts to a valid GID other than 0.

b
The /etc/zones directory, and its contents, must be owned by root.
CM-6 - Medium - CCI-000366 - V-226423 - SV-226423r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00540
Vuln IDs
  • V-226423
  • V-22603
Rule IDs
  • SV-226423r603265_rule
  • SV-27016
Solaris zones configuration files must be protected against illicit creation, modification, and deletion.
Checks: C-28584r482630_chk

Check the ownership of the files and directories. # ls -lLdR /etc/zones If the owner of the file is not root, this is a finding. If zones are not installed on the system, this is not a finding.

Fix: F-28572r482631_fix

Change the ownership of the files and directories. # chown -R root /etc/zones

b
The /etc/zones directory, and its contents, must be group-owned by root, sys, or bin.
CM-6 - Medium - CCI-000366 - V-226424 - SV-226424r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00560
Vuln IDs
  • V-226424
  • V-22604
Rule IDs
  • SV-226424r603265_rule
  • SV-27018
Solaris zones configuration files must be protected against illicit creation, modification, and deletion.
Checks: C-28585r482633_chk

Check the group ownership of the files and directories. # ls -lLRa /etc/zones If the group owner of the directory and all files is not root, sys, or bin, this is a finding. If zones are not installed on the system, this is not a finding.

Fix: F-28573r482634_fix

Change the group ownership of the files and directories. # chgrp -R sys /etc/zones # chgrp root /etc/zones/*.xml # chgrp bin /etc/zones/SUN*.xml

b
The /etc/zones directory, and its contents, must not be group- or world-writable.
CM-6 - Medium - CCI-000366 - V-226425 - SV-226425r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00580
Vuln IDs
  • V-226425
  • V-22605
Rule IDs
  • SV-226425r603265_rule
  • SV-27019
Solaris zones configuration files must be protected against illicit creation, modification, and deletion.
Checks: C-28586r482636_chk

Check the permissions of the files and directories. # ls -lLdR /etc/zones If the mode of a directory is more permissive than 0755, or the mode of a file more permissive than 0644, this is a finding. If zones are not installed on the system, this is not a finding.

Fix: F-28574r482637_fix

Change the mode of the file or directory. # chmod 0644 <file> For directories: # chmod 0755 <directory>

b
The /etc/zones directory, and its contents, must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-226426 - SV-226426r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00600
Vuln IDs
  • V-226426
  • V-22606
Rule IDs
  • SV-226426r603265_rule
  • SV-27020
Solaris zones configuration files must be protected against illicit creation, modification, and deletion.
Checks: C-28587r482639_chk

Check the permissions of the file. # ls -lLd /etc/zones # ls -lLR /etc/zones If the permissions of the file or directory contains a "+", an extended ACL is present, this is a finding. If zones are not installed on the system, this is not a finding.

Fix: F-28575r482640_fix

Remove the extended ACL from the file. # chmod A- <file>

b
The inherit-pkg-dir zone option must be set to none or the system default list defined for sparse root zones.
CM-6 - Medium - CCI-000366 - V-226427 - SV-226427r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00620
Vuln IDs
  • V-226427
  • V-22607
Rule IDs
  • SV-226427r603265_rule
  • SV-27022
Solaris zones have the capability to inherit elements of the global zone's filesystem, which reduces the amount storage required for a zone, but also limits the flexibility of the zone. The inherit-pkg-dir option defines which paths are shared between the zones. If set incorrectly, private information from the global zone could be made available to the non-global zone. This option must be set to none (for a whole-root non-global zone), the vendor-specified list of paths for sparse-root non-global zones, or a list specified by the SA for operational reasons which has been justified and documented with the IAO.
Checks: C-28588r482642_chk

If the system is not a global zone, this vulnerability is not applicable. List the non-global zones on the system. # zoneadm list -vi List the configuration for each zone. # zonecfg -z &lt;zone&gt; info Check the inherit-pkg-dir lines. If no such lines exist, this is not a finding. If the lines contain only those defined for sparse root zones (/lib, /platform, /sbin, /usr), this is not a finding. Otherwise, this is a finding.

Fix: F-28576r482643_fix

Remove the inherit-pkg-dir lines or the directories not defined for sparse root zones. # zonecfg -z <zone> remove inherit-pkg-dir=<somedir>

b
The limitpriv zone option must be set to the vendor default or less permissive.
CM-6 - Medium - CCI-000366 - V-226428 - SV-226428r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00640
Vuln IDs
  • V-226428
  • V-22608
Rule IDs
  • SV-226428r603265_rule
  • SV-27023
Solaris zones can be assigned privileges generally reserved for the global zone using the limitpriv zone option. Any privilege assignments in excess of the vendor defaults may provide the ability for a non-global zone to compromise the global zone.
Checks: C-28589r482645_chk

If the system is not a global zone, this vulnerability is not applicable. List the non-global zones on the system. # zoneadm list -vi List the configuration for each zone. # zonecfg -z &lt;zone&gt; info Check the limitpriv lines. If a line set other than default, this is a finding. If limitpriv is not set, this is not a finding.

Fix: F-28577r482646_fix

Change the limitpriv setting to default. # zonecfg -z <zone> set limitpriv=default

b
The physical devices must not be assigned to non-global zones.
CM-6 - Medium - CCI-000366 - V-226429 - SV-226429r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000000-SOL00660
Vuln IDs
  • V-226429
  • V-22609
Rule IDs
  • SV-226429r603265_rule
  • SV-27024
Solaris non-global zones can be assigned physical hardware devices. This increases the risk of such a non-global zone having the capability to compromise the global zone.
Checks: C-28590r482648_chk

If the system is not a global zone, this vulnerability is not applicable. List the non-global zones on the system. # zoneadm list -vi List the configuration for each zone. # zonecfg -z &lt;zone&gt; info Check for device lines. If such a line exists, this is a finding.

Fix: F-28578r482649_fix

Remove all device assignments from the non-global zone. # zonecfg -z <zone> remove device <device>

c
The operating system must be a supported release.
CM-6 - High - CCI-000366 - V-226430 - SV-226430r877407_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN000100
Vuln IDs
  • V-226430
  • V-11940
Rule IDs
  • SV-226430r877407_rule
  • SV-27051
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-36370r877406_chk

Note: This STIG has been moved to sunset and will no longer be maintained. # uname -a Oracle has committed to indefinite "sustaining support" for recent Solaris operating system releases. Verify proof of purchase of support from Oracle. If the release is not supported, this is a finding.

Fix: F-36334r602714_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-226431 - SV-226431r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000120
Vuln IDs
  • V-226431
  • V-783
Rule IDs
  • SV-226431r603265_rule
  • SV-40813
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-28592r482657_chk

Use the smpatch(1m) utility to check for available security updates from Oracle. # smpatch analyze If there are security updates available, this is a finding.

Fix: F-28580r482658_fix

Apply available security updates from Oracle. # smpatch update

b
A file integrity baseline must be created and maintained.
CM-3 - Medium - CCI-001744 - V-226432 - SV-226432r854397_rule
RMF Control
CM-3
Severity
Medium
CCI
CCI-001744
Version
GEN000140
Vuln IDs
  • V-226432
  • V-11941
Rule IDs
  • SV-226432r854397_rule
  • SV-12442
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-36371r602716_chk

Determine if a file integrity baseline, which includes cryptographic hashes, has been created and maintained for the system. If no file integrity baseline exists for the system, this is a finding. If the file integrity baseline contains no cryptographic hashes, this is a finding. If the file integrity baseline is not maintained (has not been updated to be consistent with the latest approved system configuration changes), this is a finding.

Fix: F-36335r602717_fix

Create a file integrity baseline, including cryptographic hashes, for the system.

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.
CM-3 - Medium - CCI-001744 - V-226433 - SV-226433r854398_rule
RMF Control
CM-3
Severity
Medium
CCI
CCI-001744
Version
GEN000220
Vuln IDs
  • V-226433
  • V-11945
Rule IDs
  • SV-226433r854398_rule
  • SV-28610
Changes in system libraries and binaries can indicate compromise or significant system events, such as patching needing to be checked by automated processes and the results reviewed by the SA. NOTE: The frequency may be increased to daily, if necessary, in accordance with the contingency plan.
Checks: C-36372r602719_chk

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

Fix: F-36336r602720_fix

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

b
The system clock must be synchronized to an authoritative DoD time source.
AU-8 - Medium - CCI-001891 - V-226434 - SV-226434r877402_rule
RMF Control
AU-8
Severity
Medium
CCI
CCI-001891
Version
GEN000240
Vuln IDs
  • V-226434
  • V-4301
Rule IDs
  • SV-226434r877402_rule
  • SV-40040
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 (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-28595r877400_chk

NTP must be used and used only in the global zone. Determine the zone currently being secured. # zonename If the command output is not "global", NTP must be disabled. Check the system for a running NTP daemon. # svcs \*ntp\* | grep online If NTP or NTP4 is online, this is a finding. If the output from "zonename" is "global", NTP must be enabled. Check the system for a running NTP daemon. # svcs \*ntp\* | grep online If NTP or NTP4 is not online, this is a finding. If NTP is running, confirm the servers and peers or multicast client (as applicable) are local or an authoritative U.S. DoD source. # more /etc/inet/ntp.conf If a non-local/non-authoritative (U.S. DoD source) time-server is used, this is a finding.

Fix: F-28583r877401_fix

Use a local authoritative time server synchronizing to an authorized DoD time source. Ensure all systems in the facility feed from one or more local time servers that feed from the authoritative time server.

b
The system clock must be synchronized continuously.
CM-6 - Medium - CCI-000366 - V-226435 - SV-226435r877405_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000241
Vuln IDs
  • V-226435
  • V-22290
Rule IDs
  • SV-226435r877405_rule
  • SV-26291
A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. Internal system clocks tend to drift and require periodic resynchronization to ensure their accuracy. Software, such as NTPD, can be used to continuously synchronize the system clock with authoritative sources. Alternatively, the system may be synchronized periodically, with a maximum of one day between synchronizations. If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable.
Checks: C-28596r877403_chk

NTP must be used and used only in the global zone. Determine the type of zone currently being secured. # zonename If the command output is not "global", then NTP must be disabled. Check the system for a running NTP daemon. # svcs \*ntp\* | grep online If NTP or NTP4 is online, this is a finding. If the output from "zonename" is "global", then NTP must be enabled. Check the system for a running NTP daemon. # svcs \*ntp\* | grep online If NTP or NTP 4 is not online, this is a finding.

Fix: F-28584r877404_fix

Determine the type of zone currently being secured. # zonename If the command output is not "global", then NTP and NTP4 must be disabled. # svcadm disable ntp # svcadm disable ntp4 If the output from "zonename" is "global", then NTP or NTP4 must be enabled. # svcadm enable ntp or # svcadm enable ntp4

b
The system must use at least two time sources for clock synchronization.
AU-8 - Medium - CCI-001891 - V-226436 - SV-226436r877038_rule
RMF Control
AU-8
Severity
Medium
CCI
CCI-001891
Version
GEN000242
Vuln IDs
  • V-226436
  • V-22291
Rule IDs
  • SV-226436r877038_rule
  • SV-26303
A synchronized system clock is critical for the enforcement of time-based policies and the correlation of logs and audit records with other systems. For redundancy, two time sources are required so synchronization continues to function if one source fails. If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable. NOTE: For the Network Time Protocol (NTP), the requirement is two servers, but it is recommended to configure at least four distinct time servers which allow NTP to effectively exclude a time source not consistent with the others. The system's local clock must be excluded from the count of time sources.
Checks: C-28597r482672_chk

Determine the zone that you are currently securing. # zonename If the command output is not "global", this is not applicable. Check the NTP daemon configuration for at least two external servers. # grep '^server' /etc/inet/ntp.conf | egrep -v '(127.127.1.1|127.127.1.0)' 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-28585r482673_fix

Add an additional server line to /etc/inet/ntp.conf for each additional NTP server.

a
The system must use time sources local to the enclave.
AU-8 - Low - CCI-001891 - V-226437 - SV-226437r877038_rule
RMF Control
AU-8
Severity
Low
CCI
CCI-001891
Version
GEN000244
Vuln IDs
  • V-226437
  • V-22292
Rule IDs
  • SV-226437r877038_rule
  • SV-26305
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 that provide local service to the enclave and synchronize with time sources outside of the enclave. If this server is an enclave time server, this requirement is not applicable. If the system is completely isolated (no connections to networks or other systems), time synchronization is not required as no correlation of events or operation of time-dependent protocols between systems will be necessary. If the system is completely isolated, this requirement is not applicable.
Checks: C-28598r482675_chk

Determine the zone that you are currently securing. # zonename If the command output is not "global", this is not applicable. Check the NTP daemon configuration. # grep '^server' /etc/inet/ntp.conf If an NTP server is listed outside of the enclave, this is a finding.

Fix: F-28586r482676_fix

Remove the server line from /etc/inet/ntp.conf for each NTP server that is external to the enclave.

b
The time synchronization configuration file (such as /etc/ntp.conf) must be owned by root.
CM-6 - Medium - CCI-000366 - V-226438 - SV-226438r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000250
Vuln IDs
  • V-226438
  • V-22294
Rule IDs
  • SV-226438r603265_rule
  • SV-26293
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-28599r482678_chk

Run ls -l /etc/inet/ntp.conf to display the owner of the NTP configuration file. If the owner is not root, this is a finding.

Fix: F-28587r482679_fix

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

b
The time synchronization configuration file (such as /etc/ntp.conf) must be group-owned by root, bin, or sys.
CM-6 - Medium - CCI-000366 - V-226439 - SV-226439r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000251
Vuln IDs
  • V-226439
  • V-22295
Rule IDs
  • SV-226439r603265_rule
  • SV-26296
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-28600r482681_chk

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

Fix: F-28588r482682_fix

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

b
The time synchronization configuration file (such as /etc/ntp.conf) must have mode 0640 or less permissive.
AC-3 - Medium - CCI-002165 - V-226440 - SV-226440r854402_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN000252
Vuln IDs
  • V-226440
  • V-22296
Rule IDs
  • SV-226440r854402_rule
  • SV-26298
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-28601r482684_chk

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

Fix: F-28589r482685_fix

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

b
The time synchronization configuration file (such as /etc/ntp.conf) must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-226441 - SV-226441r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000253
Vuln IDs
  • V-226441
  • V-22297
Rule IDs
  • SV-226441r603265_rule
  • SV-26301
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-28602r482687_chk

Check for an extended ACL on the NTP configuration file. # ls -l /etc/inet/ntp.conf If the permissions contain a "+", the file has an extended ACL and this is a finding.

Fix: F-28590r482688_fix

Remove the extended ACL from the file. # chmod A- /etc/inet/ntp.conf

b
The system must not have unnecessary accounts.
CM-6 - Medium - CCI-000366 - V-226442 - SV-226442r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000290
Vuln IDs
  • V-226442
  • V-4269
Rule IDs
  • SV-226442r603265_rule
  • SV-4269
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-36373r602722_chk

Check the system for unnecessary user accounts. Procedure: # more /etc/passwd Some examples of unnecessary accounts include games, news, gopher, ftp, and lp. If an unnecessary account is found and its use is not justified and documented with the ISSO, this is a finding.

Fix: F-36337r602723_fix

Remove all unnecessary accounts, such as games, from the /etc/passwd file before connecting a system to the network. Other accounts, such as news and gopher, associated with a service not in use should also be removed.

b
All accounts on the system must have unique user or account names.
IA-2 - Medium - CCI-000764 - V-226443 - SV-226443r603265_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
GEN000300
Vuln IDs
  • V-226443
  • V-761
Rule IDs
  • SV-226443r603265_rule
  • SV-27061
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-28604r482696_chk

Check the system for duplicate account names. Example: # passwd -sa | sort | uniq -c | awk '$1 &gt; 1 {print $2}' If any duplicate account names are found, this is a finding.

Fix: F-28592r482697_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-226444 - SV-226444r603265_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000764
Version
GEN000320
Vuln IDs
  • V-226444
  • V-762
Rule IDs
  • SV-226444r603265_rule
  • SV-27065
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-28605r482699_chk

Perform the following to ensure there are no duplicate UIDs. # logins -d If any duplicate UIDs are found, this is a finding.

Fix: F-28593r482700_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-226445 - SV-226445r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000340
Vuln IDs
  • V-226445
  • V-11946
Rule IDs
  • SV-226445r603265_rule
  • SV-12447
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-28606r482702_chk

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

Fix: F-28594r482703_fix

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

b
GIDs reserved for system accounts must not be assigned to non-system groups.
CM-6 - Medium - CCI-000366 - V-226446 - SV-226446r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000360
Vuln IDs
  • V-226446
  • V-780
Rule IDs
  • SV-226446r603265_rule
  • SV-28658
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-28607r482705_chk

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

Fix: F-28595r482706_fix

Change the primary group GID numbers for non-system accounts with reserved primary group GIDs (those less or equal to 99). # usermod -g <new_group> <user>

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

Perform the following to ensure there are no GIDs referenced in /etc/passwd not defined in /etc/group. # logins -o | awk -F: '$3 == ""' If any lines are returned, there are GIDs referenced in /etc/passwd that are not defined in /etc/group, this is a finding.

Fix: F-28596r482709_fix

Add a group to the system for each GID referenced that does not have a corresponding group. #/usr/sbin/groupadd < 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-226448 - SV-226448r603265_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
GEN000400
Vuln IDs
  • V-226448
  • V-763
Rule IDs
  • SV-226448r603265_rule
  • SV-28596
Failure to display the login banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources.
Checks: C-36374r602725_chk

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

Fix: F-36338r602726_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-226449 - SV-226449r603265_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
GEN000402
Vuln IDs
  • V-226449
  • V-24331
Rule IDs
  • SV-226449r603265_rule
  • SV-39880
Failure to display the login banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources. This requirement applies to graphical desktop environments provided by the system to locally attached displays and input devices as well as to graphical desktop environments provided to remote systems, including thin clients.
Checks: C-36375r602728_chk

If the system does not use XWindows, this is not applicable. Check the "Dtlogin*greeting.labelString" parameter in /etc/dt/config/C/Xresources 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 file does not exist, 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-36339r602729_fix

Create/update /etc/dt/config/C/Xresources with Dtlogin*greeting.labelString: [DoD login banner 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-226450 - SV-226450r603265_rule
RMF Control
AC-8
Severity
Medium
CCI
CCI-000048
Version
GEN000410
Vuln IDs
  • V-226450
  • V-23732
Rule IDs
  • SV-226450r603265_rule
  • SV-39879
Failure to display the logon banner prior to a logon attempt will negate legal proceedings resulting from unauthorized access to system resources. NOTE: SFTP and FTPS are encrypted alternatives to FTP that should be used in place of FTP. SFTP is implemented by the SSH service and uses its banner configuration.
Checks: C-36376r602731_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-36340r602732_fix

Edit /etc/ftpd/ftpaccess and add or edit the BANNER parameter ("banner /etc/ftpd/banner.msg"). # vi /etc/ftpd/ftpaccess Add one of the DoD Login Banners (based on the character limitations imposed by the system) to the /etc/ftpd/banner.msg file. # vi /etc/ftpd/banner.msg 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-12 - Medium - CCI-000172 - V-226451 - SV-226451r603265_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000172
Version
GEN000440
Vuln IDs
  • V-226451
  • V-765
Rule IDs
  • SV-226451r603265_rule
  • SV-27080
Monitoring and recording successful and unsuccessful logins assist 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-36377r602734_chk

Determine if successful logons are being logged. # last | more Determine if unsuccessful logons are being logged. # more /var/adm/loginlog If the commands do not return successful and unsuccessful logins, this is a finding. Check the syslog daemon configuration for authentication logging. # egrep "auth\.(info|debug)" /etc/syslog.conf If there are no entries in syslog for the auth service, this is a finding.

Fix: F-36341r602735_fix

Verify that login logs are handled correctly in the /etc/syslog.conf file. Edit the /etc/syslog.conf file and add one of the entries below. auth.debug /var/log/authlog OR auth.* /var/log/authlog Verify that service startup scripts for syslog and utmp (if present) are enabled.

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

Determine if the system displays the date and time of the last successful login upon logging in. This can be accomplished by logging into the system and verifying whether or not the necessary information is displayed. If the system does not provide this information upon login, this is a finding. Last login information is provided automatically by the login(1) program for telnet and console login sessions. Verify the SSH daemon is configured to display last login information. # grep -i PrintLastLog /etc/ssh/sshd_config If PrintLastLog is present in the configuration and not disabled, this is not a finding. Otherwise, this is a finding.

Fix: F-28601r482724_fix

Configure the system to display the date and time of the last successful login upon logging in. Enable PrintLastLog in the SSH daemon. To enable PrintLastLog in the SSH daemon, remove any lines disabling this option from /etc/ssh/sshd_config.

a
The system must display a publicly-viewable pattern during a graphical desktop environment session lock.
AC-11 - Low - CCI-000057 - V-226453 - SV-226453r603265_rule
RMF Control
AC-11
Severity
Low
CCI
CCI-000057
Version
GEN000510
Vuln IDs
  • V-226453
  • V-22301
Rule IDs
  • SV-226453r603265_rule
  • SV-39865
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-28614r482735_chk

Determine if a publicly-viewable pattern is displayed during a session lock. If the session lock pattern is not publicly-viewable, this is a finding. Acceptable checks for settings. # grep -i dtsession /etc/dt/config/C/sys.resources | egrep -i "saverList|saverTimeout" The saverTimeout value should be 15 (see GEN000500). The saverList value of StartDtscreenBlank is an acceptable screensaver.

Fix: F-28602r482736_fix

Edit the /etc/dt/config/C/sys.resources file and add/edit the following lines, using 15 for the saverTimeout, and using StartDtscreenBlank for the saverList. dtsession*saverTimeout: 15 dtsession*saverList: StartDtscreenBlank

b
The root user must not own the logon session for an application requiring a continuous display.
AC-6 - Medium - CCI-002233 - V-226454 - SV-226454r854403_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002233
Version
GEN000520
Vuln IDs
  • V-226454
  • V-769
Rule IDs
  • SV-226454r854403_rule
  • SV-769
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-36378r602737_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. Execute the following to determine which user owns the process(es) associated with the application. If the owner is root, this is a finding. # ps -ef | more

Fix: F-36342r602738_fix

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

b
Users must not be able to change passwords more than once every 24 hours.
IA-5 - Medium - CCI-000198 - V-226455 - SV-226455r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000198
Version
GEN000540
Vuln IDs
  • V-226455
  • V-1032
Rule IDs
  • SV-226455r603265_rule
  • SV-39809
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-28616r482741_chk

Check the minimum time period between password changes for each user account is 1 day or greater. # awk -F: '$4 &lt; 1 {print $1}' /etc/shadow If any results are returned that are not associated with a system account, this is a finding.

Fix: F-28604r482742_fix

Edit the /etc/default/passwd file and set the variable "MINWEEKS" to 1 or greater. Set the per-user minimum password change times by using the following command on each user account. # passwd -n <number of days> <accountname>

c
The system must not have accounts configured with blank or null passwords.
CM-6 - High - CCI-000366 - V-226456 - SV-226456r603265_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN000560
Vuln IDs
  • V-226456
  • V-770
Rule IDs
  • SV-226456r603265_rule
  • SV-27105
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-28617r482744_chk

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

Fix: F-28605r482745_fix

Remove, lock, or configure a password for any account with a blank password.

b
The system must require passwords contain a minimum of 15 characters.
IA-5 - Medium - CCI-000205 - V-226457 - SV-226457r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000205
Version
GEN000580
Vuln IDs
  • V-226457
  • V-11947
Rule IDs
  • SV-226457r603265_rule
  • SV-27110
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-28618r482747_chk

Check the system password length setting. # grep PASSLENGTH /etc/default/passwd If PASSLENGTH is not set to 15 or more, this is a finding.

Fix: F-28606r482748_fix

Edit /etc/default/passwd and set the PASSLENGTH variable to 15 or greater.

b
The system must enforce compliance of the entire password during authentication.
IA-5 - Medium - CCI-000205 - V-226458 - SV-226458r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000205
Version
GEN000585
Vuln IDs
  • V-226458
  • V-22302
Rule IDs
  • SV-226458r603265_rule
  • SV-26318
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-36379r602740_chk

Verify no password hash in /etc/passwd or /etc/shadow begins with a character other than an underscore (_) or dollar sign ($). # cut -d ':' -f2 /etc/passwd | egrep -v '^[*!$_]' # cut -d ':' -f2 /etc/shadow | egrep -v '^[*!$_]' If any unlocked password hash is present without an initial underscore (_) or dollar sign ($) character, this is a finding.

Fix: F-36343r602741_fix

Edit /etc/security/policy.conf and add or change the CRYPT_DEFAULT setting to something other than __unix__, such as 6. Allowable values for CRYPT_DEFAULT may be found in the /etc/security/crypt.conf file. Change any passwords using non-compliant hashes.

b
The system must use a FIPS 140-2 approved cryptographic hashing algorithm for generating account password hashes.
IA-7 - Medium - CCI-000803 - V-226459 - SV-226459r603265_rule
RMF Control
IA-7
Severity
Medium
CCI
CCI-000803
Version
GEN000590
Vuln IDs
  • V-226459
  • V-22303
Rule IDs
  • SV-226459r603265_rule
  • SV-40776
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-36380r602743_chk

Verify the traditional UNIX crypt algorithm is deprecated. # egrep CRYPT_ALGORITHMS_ALLOW /etc/security/policy.conf If CRYPT_ALGORITHMS_ALLOW is not set, is not set to "6", or is not set to "5,6", this is a finding. Verify new password hashes are generated using either the SHA-256 or SHA-512 cryptographic hashing algorithm. # egrep CRYPT_DEFAULT /etc/security/policy.conf If CRYPT_DEFAULT is not set or is not equal to 5 or 6, this is a finding.

Fix: F-36344r602744_fix

Edit the /etc/security/policy.conf file. # vi /etc/security/policy.conf Uncomment or add the CRYPT_ALGORITHMS_ALLOW line and set it to "5,6". Update the CRYPT_DEFAULT default line to be equal to 5 or 6. The following lines are acceptable. CRYPT_ALGORITHMS_ALLOW=5,6 CRYPT_DEFAULT=6

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-226460 - SV-226460r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
GEN000595
Vuln IDs
  • V-226460
  • V-22304
Rule IDs
  • SV-226460r603265_rule
  • SV-40790
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-36381r602746_chk

Determine if any password hashes stored on the system were not generated using a FIPS 140-2 approved cryptographic hashing algorithm. Procedure: # cut -d ':' -f2 /etc/passwd # cut -d ':' -f2 /etc/shadow If any password hashes are present not beginning with $5$ or $6$, this is a finding. Verify that FIPS 140-2 approved cryptographic hashing algorithms are available. # egrep '^[56]' /etc/security/crypt.conf If no lines are returned, this is a finding.

Fix: F-36345r602747_fix

If the /etc/security/crypt.conf file does not support FIPS 140-2 approved cryptographic hashing algorithms, upgrade to at least the Solaris 10 8/07 release. Edit the /etc/security/policy.conf file. # vi /etc/security/policy.conf Uncomment or add the CRYPT_ALGORITHMS_ALLOW line and set it to "5,6". Update the CRYPT_DEFAULT default line to be equal to 5 or 6. The following lines are acceptable. CRYPT_ALGORITHMS_ALLOW=5,6 CRYPT_DEFAULT=6 Update passwords for all accounts with non-compliant password hashes.

b
The system must require passwords to contain at least one uppercase alphabetic character.
IA-5 - Medium - CCI-000192 - V-226461 - SV-226461r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000192
Version
GEN000600
Vuln IDs
  • V-226461
  • V-11948
Rule IDs
  • SV-226461r603265_rule
  • SV-27115
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-28622r482759_chk

Check the MINUPPER setting. # egrep MINUPPER /etc/default/passwd If MINUPPER is not set to 1 or more, this is a finding.

Fix: F-28610r482760_fix

Edit /etc/default/passwd and set the MINUPPER setting to at least 1.

b
The system must require passwords to contain at least one numeric character.
IA-5 - Medium - CCI-000194 - V-226462 - SV-226462r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000194
Version
GEN000620
Vuln IDs
  • V-226462
  • V-11972
Rule IDs
  • SV-226462r603265_rule
  • SV-27119
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-28623r482762_chk

Check the MINDIGIT setting. # grep MINDIGIT /etc/default/passwd If the MINDIGIT setting is less than 1, this is a finding.

Fix: F-28611r482763_fix

Edit /etc/default/passwd and set the MINDIGIT setting to 1.

b
The system must require passwords to contain at least one special character.
IA-5 - Medium - CCI-001619 - V-226463 - SV-226463r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-001619
Version
GEN000640
Vuln IDs
  • V-226463
  • V-11973
Rule IDs
  • SV-226463r603265_rule
  • SV-27123
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-28624r482765_chk

Check the MINSPECIAL setting. # grep MINSPECIAL /etc/default/passwd If the MINSPECIAL setting is less than 1, this is a finding.

Fix: F-28612r482766_fix

Edit /etc/default/passwd and set MINSPECIAL to 1.

b
The system must require passwords to contain no more than three consecutive repeating characters.
CM-6 - Medium - CCI-000366 - V-226464 - SV-226464r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000680
Vuln IDs
  • V-226464
  • V-11975
Rule IDs
  • SV-226464r603265_rule
  • SV-27126
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-28625r482768_chk

Check the MAXREPEATS setting. # grep MAXREPEATS /etc/default/passwd If the MAXREPEATS setting is greater than 3, this is a finding.

Fix: F-28613r482769_fix

Edit /etc/default/passwd and set MAXREPEATS to 3.

b
User passwords must be changed at least every 60 days.
IA-5 - Medium - CCI-000199 - V-226465 - SV-226465r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000199
Version
GEN000700
Vuln IDs
  • V-226465
  • V-11976
Rule IDs
  • SV-226465r603265_rule
  • SV-39845
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-28626r482771_chk

Check the max days field (the 5th field) of /etc/shadow. # awk -F: '{print $1 ":" $5;}' /etc/shadow If the max days field is equal to 0 or greater than 60 for any account that is not password-locked, this is a finding.

Fix: F-28614r482772_fix

Set the max days field to 60 for all user accounts. # passwd -x 60 <user> Set the MAXWEEKS parameter in /etc/default/passwd to a positive, non-zero value of 8 or less.

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-226466 - SV-226466r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000199
Version
GEN000740
Vuln IDs
  • V-226466
  • V-11977
Rule IDs
  • SV-226466r603265_rule
  • SV-12478
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-28627r482774_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. If SA indicates passwords for automated processing accounts are not changed once per year, this is a finding.

Fix: F-28615r482775_fix

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

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-226467 - SV-226467r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000195
Version
GEN000750
Vuln IDs
  • V-226467
  • V-22306
Rule IDs
  • SV-226467r603265_rule
  • SV-26324
To ensure password changes are effective in their goals, the system must ensure old and new passwords have significant differences. Without significant changes, new passwords may be easily guessed based on the value of a previously compromised password.
Checks: C-28628r482777_chk

Check /etc/default/passwd to verify the MINDIFF setting. # grep MINDIFF /etc/default/passwd If the setting is not present, or is less than 8, this is a finding.

Fix: F-28616r482778_fix

Edit /etc/default/passwd and set or add a MINDIFF setting equal to or greater than 8.

b
The system must prevent the use of dictionary words for passwords.
CM-6 - Medium - CCI-000366 - V-226468 - SV-226468r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000790
Vuln IDs
  • V-226468
  • V-22307
Rule IDs
  • SV-226468r603265_rule
  • SV-26345
An easily guessable password provides an open door to any external or internal malicious intruder. Many computer compromises occur as the result of account name and password guessing. This is generally done by someone with an automated script using repeated logon attempts until the correct account and password pair is guessed. Utilities, such as cracklib, can be used to validate passwords are not dictionary words and meet other criteria during password changes.
Checks: C-28629r482783_chk

Check /etc/default/passwd for dictionary check configuration. # grep DICTION /etc/default/passwd If the DICTIONLIST or DICTIONDBDIR settings are not present, or are set to non-existent files or directories, this is a finding.

Fix: F-28617r482784_fix

Edit /etc/default/passwd; add or set DICTIONLIST to the dictionary file and DICTIONDBDIR to a database directory such as /var/passwd. Generate the password dictionary by running the mkpwdict command.

b
The system must prohibit the reuse of passwords within five iterations.
IA-5 - Medium - CCI-000200 - V-226469 - SV-226469r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000200
Version
GEN000800
Vuln IDs
  • V-226469
  • V-4084
Rule IDs
  • SV-226469r603265_rule
  • SV-27132
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-28630r482786_chk

Check the HISTORY setting. # grep HISTORY /etc/default/passwd If HISTORY is not set to 5 or more, this is a finding.

Fix: F-28618r482787_fix

Edit /etc/default/passwd and set HISTORY to 5.

a
The system must restrict the ability to switch to the root user to members of a defined group.
IA-2 - Low - CCI-000770 - V-226470 - SV-226470r603265_rule
RMF Control
IA-2
Severity
Low
CCI
CCI-000770
Version
GEN000850
Vuln IDs
  • V-226470
  • V-22308
Rule IDs
  • SV-226470r603265_rule
  • SV-39876
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-28631r482789_chk

Verify the root user is configured as a role, rather than a normal user. # egrep '^root:' /etc/user_attr If the returned line does not include "type=role", this is a finding. Verify at least one local user has been assigned the root role. # egrep '[:;]roles=[^;]*,?root([,;]|$)' /etc/user_attr If no lines are returned, no users are permitted to assume the root role, this is a finding.

Fix: F-28619r482790_fix

Convert the root user into a role. # usermod -K type=role root Add the root role to authorized users' logins. # usermod -R root <userid>

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

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

Fix: F-36346r602750_fix

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

b
The root account's home directory (other than /) must have mode 0700.
AC-6 - Medium - CCI-002233 - V-226472 - SV-226472r854404_rule
RMF Control
AC-6
Severity
Medium
CCI
CCI-002233
Version
GEN000920
Vuln IDs
  • V-226472
  • V-775
Rule IDs
  • SV-226472r854404_rule
  • SV-775
Permissions greater than 0700 could allow unauthorized users access to the root home directory.
Checks: C-28633r482798_chk

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

Fix: F-28621r482799_fix

The root home directory will have permissions of 0700. Do not change the protections of the / directory. Use the following command to change protections for the root home directory. # chmod 0700 /rootdir.

b
The root account's home directory must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-226473 - SV-226473r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000930
Vuln IDs
  • V-226473
  • V-22309
Rule IDs
  • SV-226473r603265_rule
  • SV-26353
File system extended ACLs provide access to files beyond what is allowed by the mode numbers of the files.
Checks: C-28634r482801_chk

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

Fix: F-28622r482802_fix

Remove the extended ACL from the directory. # chmod A- ~root

b
The root accounts executable search path must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-226474 - SV-226474r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000940
Vuln IDs
  • V-226474
  • V-776
Rule IDs
  • SV-226474r603265_rule
  • SV-776
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-36383r602752_chk

To view the root user's PATH, log in as the root user, and execute the following. # env | grep PATH This variable is formatted as a colon-separated list of directories. If there is an empty entry, such as a leading or trailing colon or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-36347r602753_fix

Edit the root user's local initialization files. Remove any empty path entries. Remove any relative path entries that have not been documented with the ISSO. Edit the root user's local initialization files and remove any empty entry that is defined.

b
The root account's library search path must be the system default and must contain only absolute paths.
CM-6 - Medium - CCI-000366 - V-226475 - SV-226475r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000945
Vuln IDs
  • V-226475
  • V-22310
Rule IDs
  • SV-226475r603265_rule
  • SV-26355
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-28636r482807_chk

Verify 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-28624r482808_fix

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

b
The root account's list of preloaded libraries must be empty.
CM-6 - Medium - CCI-000366 - V-226476 - SV-226476r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN000950
Vuln IDs
  • V-226476
  • V-22311
Rule IDs
  • SV-226476r603265_rule
  • SV-26357
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-28637r482810_chk

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

Fix: F-28625r482811_fix

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

b
The system must prevent the root account from directly logging in except from the system console.
IA-2 - Medium - CCI-000770 - V-226477 - SV-226477r603265_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000770
Version
GEN000980
Vuln IDs
  • V-226477
  • V-778
Rule IDs
  • SV-226477r603265_rule
  • SV-27143
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-28638r482816_chk

Check the CONSOLE setting in /etc/default/login # grep CONSOLE /etc/default/login If CONSOLE is set to a value other than /dev/console, this is a finding.

Fix: F-28626r482817_fix

Edit the /etc/default/login file and uncomment the line containing /dev/console if it is commented out.

b
Remote consoles must be disabled or protected from unauthorized access.
AC-17 - Medium - CCI-002314 - V-226478 - SV-226478r854405_rule
RMF Control
AC-17
Severity
Medium
CCI
CCI-002314
Version
GEN001000
Vuln IDs
  • V-226478
  • V-4298
Rule IDs
  • SV-226478r854405_rule
  • SV-27147
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-28639r482819_chk

Verify no auxiliary consoles are defined. # consadm -p If any output is generated, this is a finding.

Fix: F-28627r482820_fix

Remove each auxiliary console. # consadm -d <console device>

b
The root account must not be used for direct logins.
IA-2 - Medium - CCI-000770 - V-226479 - SV-226479r603265_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000770
Version
GEN001020
Vuln IDs
  • V-226479
  • V-11979
Rule IDs
  • SV-226479r603265_rule
  • SV-39848
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-28640r482822_chk

Check if the root is used for direct logins. Procedure: # last root | grep -v reboot If any direct login records for root exist, this is a finding. Verify the root user is configured as a role, rather than a normal user. Procedure: # egrep '^root:' /etc/user_attr If the returned line does not include "type=role", this is a finding.

Fix: F-28628r482823_fix

Convert the root user into a role. # usermod -K type=role root Add the root role to authorized users' logins. # usermod -R root <userid>

b
The system must log successful and unsuccessful access to the root account.
AU-12 - Medium - CCI-000169 - V-226480 - SV-226480r603265_rule
RMF Control
AU-12
Severity
Medium
CCI
CCI-000169
Version
GEN001060
Vuln IDs
  • V-226480
  • V-11980
Rule IDs
  • SV-226480r603265_rule
  • SV-39850
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-28641r482825_chk

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

Fix: F-28629r482826_fix

Update /etc/default/su and set SYSLOG=YES. Ensure /etc/syslog.conf is configured to log auth.crit messages to capture all failed su attempts.

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

Perform the following to determine if /usr is partitioned. # grep /usr /etc/vfstab If /usr is partitioned, check the location of root's default shell. # awk -F: '$1 == "root" {print $7}' /etc/passwd If the root shell is found to be on a partitioned /usr filesystem or is in a directory symlinked to a partitioned /usr filesystem, even if the actual root shell is a symlink back to the root filesystem, this is a finding.

Fix: F-28630r482829_fix

Change the root account's shell to one present on the / filesystem. Example: # usermod -s /sbin/sh root

c
Root passwords must never be passed over a network in clear text form.
IA-5 - High - CCI-000197 - V-226482 - SV-226482r603265_rule
RMF Control
IA-5
Severity
High
CCI
CCI-000197
Version
GEN001100
Vuln IDs
  • V-226482
  • V-1046
Rule IDs
  • SV-226482r603265_rule
  • SV-1046
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. Satisfies: SRG-OS-000074, SRG-OS-000520
Checks: C-28643r482831_chk

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

Fix: F-28631r482832_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-226483 - SV-226483r603265_rule
RMF Control
IA-2
Severity
Medium
CCI
CCI-000770
Version
GEN001120
Vuln IDs
  • V-226483
  • V-1047
Rule IDs
  • SV-226483r603265_rule
  • SV-39811
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-28644r482834_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-28632r482835_fix

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

b
System files and directories must not have uneven access permissions.
AC-3 - Medium - CCI-002165 - V-226484 - SV-226484r854406_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN001140
Vuln IDs
  • V-226484
  • V-784
Rule IDs
  • SV-226484r854406_rule
  • SV-39833
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-28645r482837_chk

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

Fix: F-28633r482838_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-226485 - SV-226485r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001160
Vuln IDs
  • V-226485
  • V-785
Rule IDs
  • SV-226485r603265_rule
  • SV-785
Unowned files and directories may be unintentionally inherited if a user is assigned the same UID as the UID of the unowned files.
Checks: C-36384r602755_chk

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

Fix: F-36348r602756_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-226486 - SV-226486r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001170
Vuln IDs
  • V-226486
  • V-22312
Rule IDs
  • SV-226486r603265_rule
  • SV-26358
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-28647r482843_chk

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

Fix: F-28635r482844_fix

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

b
All network services daemon files must have mode 0755 or less permissive.
AC-3 - Medium - CCI-002165 - V-226487 - SV-226487r854407_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN001180
Vuln IDs
  • V-226487
  • V-786
Rule IDs
  • SV-226487r854407_rule
  • SV-27161
Restricting permission on daemons will protect them from unauthorized modification and possible system compromise.
Checks: C-28648r482846_chk

Check the mode of network services daemons. # ls -la /usr/bin /usr/sbin If the mode of a network services daemon is more permissive than 0755, 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. A way to locate network daemons, such as httpd and sshd, is with the ps command. # ps -ef | egrep '(sshd|httpd)'

Fix: F-28636r482847_fix

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

b
All network services daemon files must not have extended ACLs.
CM-6 - Medium - CCI-000366 - V-226488 - SV-226488r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001190
Vuln IDs
  • V-226488
  • V-22313
Rule IDs
  • SV-226488r603265_rule
  • SV-26361
Restricting permission on daemons will protect them from unauthorized modification and possible system compromise.
Checks: C-28649r482849_chk

Verify network services daemon files have no extended ACLs. # ls -la /usr/sbin # ls -la /usr/bin If the permissions include a "+", the file has an extended ACL and 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. A way to locate network daemons, such as httpd and sshd, is with the ps command. # ps -ef | egrep '(sshd|httpd)'

Fix: F-28637r482850_fix

Remove the extended ACL from the file. # chmod A- [file with extended ACL]

b
All system command files must have mode 755 or less permissive.
CM-5 - Medium - CCI-001499 - V-226489 - SV-226489r603265_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
GEN001200
Vuln IDs
  • V-226489
  • V-794
Rule IDs
  • SV-226489r603265_rule
  • SV-794
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-28650r482852_chk

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

Fix: F-28638r482853_fix

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

b
All system command files must not have extended ACLs.
CM-5 - Medium - CCI-001499 - V-226490 - SV-226490r603265_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
GEN001210
Vuln IDs
  • V-226490
  • V-22314
Rule IDs
  • SV-226490r603265_rule
  • SV-26365
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-28651r482855_chk

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

Fix: F-28639r482856_fix

Remove the extended ACL from the file. # chmod A- [file with extended ACL]

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

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

Fix: F-28640r482859_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-226492 - SV-226492r603265_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
GEN001240
Vuln IDs
  • V-226492
  • V-796
Rule IDs
  • SV-226492r603265_rule
  • SV-796
Restricting permissions will protect the files from unauthorized modification.
Checks: C-28653r482861_chk

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

Fix: F-28641r482862_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-226493 - SV-226493r603265_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
GEN001260
Vuln IDs
  • V-226493
  • V-787
Rule IDs
  • SV-226493r603265_rule
  • SV-39832
If the system log files are not protected, unauthorized users could change the logged data, eliminating its forensic value.
Checks: C-28654r482864_chk

Check the mode of log file hierarchies. Procedure: # ls -lLRa /var/log /var/adm If any of the log files or their directories have modes more permissive than "0640", and these are not documented, this is a finding.

Fix: F-28642r482865_fix

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

b
System log files must not have extended ACLs, except as needed to support authorized software.
SI-11 - Medium - CCI-001314 - V-226494 - SV-226494r603265_rule
RMF Control
SI-11
Severity
Medium
CCI
CCI-001314
Version
GEN001270
Vuln IDs
  • V-226494
  • V-22315
Rule IDs
  • SV-226494r603265_rule
  • SV-26369
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-28655r482867_chk

Verify all system log files have no extended ACLs. Procedure: # ls -lL /var/adm 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 that provides access beyond the needs of authorized software, this is a finding.

Fix: F-28643r482868_fix

Remove the extended ACL from the file. # chmod A- [file with extended ACL]

a
Manual page files must have mode 0655 or less permissive.
AC-3 - Low - CCI-002165 - V-226495 - SV-226495r854408_rule
RMF Control
AC-3
Severity
Low
CCI
CCI-002165
Version
GEN001280
Vuln IDs
  • V-226495
  • V-792
Rule IDs
  • SV-226495r854408_rule
  • SV-39835
If manual pages are compromised, misleading information could be inserted, causing actions that may compromise the system.
Checks: C-28656r482870_chk

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

Fix: F-28644r482871_fix

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

a
All manual page files must not have extended ACLs.
CM-6 - Low - CCI-000366 - V-226496 - SV-226496r603265_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN001290
Vuln IDs
  • V-226496
  • V-22316
Rule IDs
  • SV-226496r603265_rule
  • SV-26373
If manual pages are compromised, misleading information could be inserted, causing actions that may compromise the system.
Checks: C-28657r482873_chk

Verify all manual page files have no extended ACLs. Check environment variable $MANPATH for full list of manpage locations. # echo $MANPATH Check for ACLs, note only a partial list is presented below. # ls -lLR /usr/share/man /usr/sfw/man /usr/sfw/share/man If the permissions include a "+", the file has an extended ACL and this is a finding.

Fix: F-28645r482874_fix

Remove the extended ACL from the file. # chmod A- [file with extended ACL]

b
All library files must not have extended ACLs.
CM-5 - Medium - CCI-001499 - V-226497 - SV-226497r603265_rule
RMF Control
CM-5
Severity
Medium
CCI
CCI-001499
Version
GEN001310
Vuln IDs
  • V-226497
  • V-22317
Rule IDs
  • SV-226497r603265_rule
  • SV-26377
Unauthorized access could destroy the integrity of the library files.
Checks: C-28658r482879_chk

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

Fix: F-28646r482880_fix

Remove the extended ACL from the file. # chmod A- [file with extended ACL]

b
NIS/NIS+/yp files must be owned by root, sys, or bin.
AC-3 - Medium - CCI-002165 - V-226498 - SV-226498r854409_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN001320
Vuln IDs
  • V-226498
  • V-789
Rule IDs
  • SV-226498r854409_rule
  • SV-27166
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-28659r482882_chk

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

Fix: F-28647r482883_fix

Change the ownership of NIS/NIS+/yp files to root, bin, or sys. Procedure: # chown -R root /usr/lib/netsvc/yp /var/yp

b
NIS/NIS+/yp files must be group-owned by root, sys, or bin.
AC-3 - Medium - CCI-002165 - V-226499 - SV-226499r854410_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN001340
Vuln IDs
  • V-226499
  • V-790
Rule IDs
  • SV-226499r854410_rule
  • SV-27171
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-28660r482885_chk

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

Fix: F-28648r482886_fix

Change the group owner of the NIS files to root, bin, or sys. Procedure: # chgrp -R root /usr/lib/netsvc/yp /var/yp

b
The NIS/NIS+/yp command files must have mode 0755 or less permissive.
AC-3 - Medium - CCI-002165 - V-226500 - SV-226500r854411_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN001360
Vuln IDs
  • V-226500
  • V-791
Rule IDs
  • SV-226500r854411_rule
  • SV-27175
NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. Unauthorized modification of these files could compromise these processes and the system.
Checks: C-28661r482888_chk

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

Fix: F-28649r482889_fix

Change the mode of NIS/NIS+/yp command files to 0755 or less permissive. Procedure: # chmod -R 0755 /usr/lib/netsvc/yp /var/yp

b
NIS/NIS+/yp command files must not have extended ACLs.
CM-6 - Medium - CCI-000366 - V-226501 - SV-226501r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001361
Vuln IDs
  • V-226501
  • V-22318
Rule IDs
  • SV-226501r603265_rule
  • SV-26388
NIS/NIS+/yp files are part of the system's identification and authentication processes and are, therefore, critical to system security. ACLs on these files could result in unauthorized modification, which could compromise these processes and the system.
Checks: C-28662r482891_chk

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

Fix: F-28650r482892_fix

Remove the extended ACL from the directory and files. # chmod -R A- /usr/lib/netsvc/yp /var/yp

b
The /etc/resolv.conf file must be owned by root.
CM-6 - Medium - CCI-000366 - V-226502 - SV-226502r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001362
Vuln IDs
  • V-226502
  • V-22319
Rule IDs
  • SV-226502r603265_rule
  • SV-26395
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-28663r482894_chk

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

Fix: F-28651r482895_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.
CM-6 - Medium - CCI-000366 - V-226503 - SV-226503r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001363
Vuln IDs
  • V-226503
  • V-22320
Rule IDs
  • SV-226503r603265_rule
  • SV-39894
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-28664r482897_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-28652r482898_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.
CM-6 - Medium - CCI-000366 - V-226504 - SV-226504r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001364
Vuln IDs
  • V-226504
  • V-22321
Rule IDs
  • SV-226504r603265_rule
  • SV-26397
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-28665r482900_chk

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

Fix: F-28653r482901_fix

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

b
The /etc/resolv.conf file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-226505 - SV-226505r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001365
Vuln IDs
  • V-226505
  • V-22322
Rule IDs
  • SV-226505r603265_rule
  • SV-26402
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-28666r482903_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, this is a finding.

Fix: F-28654r482904_fix

Remove the extended ACL from the file. # chmod A- /etc/resolv.conf

b
The /etc/hosts file must be owned by root.
CM-6 - Medium - CCI-000366 - V-226506 - SV-226506r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001366
Vuln IDs
  • V-226506
  • V-22323
Rule IDs
  • SV-226506r603265_rule
  • SV-26410
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-28667r482906_chk

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

Fix: F-28655r482907_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.
CM-6 - Medium - CCI-000366 - V-226507 - SV-226507r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001367
Vuln IDs
  • V-226507
  • V-22324
Rule IDs
  • SV-226507r603265_rule
  • SV-39896
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-28668r482909_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-28656r482910_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.
CM-6 - Medium - CCI-000366 - V-226508 - SV-226508r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001368
Vuln IDs
  • V-226508
  • V-22325
Rule IDs
  • SV-226508r603265_rule
  • SV-26412
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-28669r482912_chk

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

Fix: F-28657r482913_fix

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

b
The /etc/hosts file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-226509 - SV-226509r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001369
Vuln IDs
  • V-226509
  • V-22326
Rule IDs
  • SV-226509r603265_rule
  • SV-26415
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-28670r482915_chk

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

Fix: F-28658r482916_fix

Remove the extended ACL from the file. # chmod A- /etc/hosts

b
The /etc/nsswitch.conf file must be owned by root.
CM-6 - Medium - CCI-000366 - V-226510 - SV-226510r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001371
Vuln IDs
  • V-226510
  • V-22327
Rule IDs
  • SV-226510r603265_rule
  • SV-26417
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-28671r482918_chk

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

Fix: F-28659r482919_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.
CM-6 - Medium - CCI-000366 - V-226511 - SV-226511r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001372
Vuln IDs
  • V-226511
  • V-22328
Rule IDs
  • SV-226511r603265_rule
  • SV-39897
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-28672r482921_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-28660r482922_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.
CM-6 - Medium - CCI-000366 - V-226512 - SV-226512r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001373
Vuln IDs
  • V-226512
  • V-22329
Rule IDs
  • SV-226512r603265_rule
  • SV-26419
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-28673r482924_chk

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

Fix: F-28661r482925_fix

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

b
The /etc/nsswitch.conf file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-226513 - SV-226513r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001374
Vuln IDs
  • V-226513
  • V-22330
Rule IDs
  • SV-226513r603265_rule
  • SV-26422
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-28674r482927_chk

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

Fix: F-28662r482928_fix

Remove the extended ACL from the file. # chmod A- /etc/nsswitch.conf

b
The /etc/passwd file must be owned by root.
CM-6 - Medium - CCI-000366 - V-226514 - SV-226514r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001378
Vuln IDs
  • V-226514
  • V-22332
Rule IDs
  • SV-226514r603265_rule
  • SV-26425
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-28675r482930_chk

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

Fix: F-28663r482931_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.
CM-6 - Medium - CCI-000366 - V-226515 - SV-226515r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001379
Vuln IDs
  • V-226515
  • V-22333
Rule IDs
  • SV-226515r603265_rule
  • SV-39898
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-28676r482933_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-28664r482934_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-3 - Medium - CCI-002165 - V-226516 - SV-226516r854412_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN001380
Vuln IDs
  • V-226516
  • V-798
Rule IDs
  • SV-226516r854412_rule
  • SV-798
If the password file is writable by a group owner or the world, the risk of password file compromise is increased. The password file contains the list of accounts on the system and associated information.
Checks: C-28677r482936_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-28665r482937_fix

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

b
The /etc/passwd file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-226517 - SV-226517r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001390
Vuln IDs
  • V-226517
  • V-22334
Rule IDs
  • SV-226517r603265_rule
  • SV-26429
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-28678r482939_chk

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

Fix: F-28666r482940_fix

Remove the extended ACL from the file. # chmod A- /etc/passwd

b
The /etc/group file must be owned by root.
CM-6 - Medium - CCI-000366 - V-226518 - SV-226518r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001391
Vuln IDs
  • V-226518
  • V-22335
Rule IDs
  • SV-226518r603265_rule
  • SV-26431
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-28679r482942_chk

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

Fix: F-28667r482943_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.
CM-6 - Medium - CCI-000366 - V-226519 - SV-226519r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001392
Vuln IDs
  • V-226519
  • V-22336
Rule IDs
  • SV-226519r603265_rule
  • SV-39899
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-28680r482945_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-28668r482946_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.
CM-6 - Medium - CCI-000366 - V-226520 - SV-226520r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001393
Vuln IDs
  • V-226520
  • V-22337
Rule IDs
  • SV-226520r603265_rule
  • SV-26433
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-28681r482948_chk

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

Fix: F-28669r482949_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.
CM-6 - Medium - CCI-000366 - V-226521 - SV-226521r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001394
Vuln IDs
  • V-226521
  • V-22338
Rule IDs
  • SV-226521r603265_rule
  • SV-26436
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-28682r482951_chk

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

Fix: F-28670r482952_fix

Remove the extended ACL from the file. # chmod A- /etc/group

b
The /etc/shadow (or equivalent) file must be owned by root.
AC-3 - Medium - CCI-002165 - V-226522 - SV-226522r854413_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN001400
Vuln IDs
  • V-226522
  • V-797
Rule IDs
  • SV-226522r854413_rule
  • SV-39826
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 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-28683r482954_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-28671r482955_fix

Change the ownership of the /etc/shadow file. # chown root /etc/shadow

b
The /etc/shadow file (or equivalent) must be group-owned by root, bin, or sys.
CM-6 - Medium - CCI-000366 - V-226523 - SV-226523r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001410
Vuln IDs
  • V-226523
  • V-22339
Rule IDs
  • SV-226523r603265_rule
  • SV-39900
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-28684r482957_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-28672r482958_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-3 - Medium - CCI-002165 - V-226524 - SV-226524r854414_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN001420
Vuln IDs
  • V-226524
  • V-800
Rule IDs
  • SV-226524r854414_rule
  • SV-800
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-28685r482960_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-28673r482961_fix

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

b
The /etc/shadow file must not have an extended ACL.
CM-6 - Medium - CCI-000366 - V-226525 - SV-226525r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001430
Vuln IDs
  • V-226525
  • V-22340
Rule IDs
  • SV-226525r603265_rule
  • SV-26440
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-28686r482963_chk

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

Fix: F-28674r482964_fix

Remove the extended ACL from the file. # chmod A- /etc/shadow

a
All interactive users must be assigned a home directory in the /etc/passwd file.
CM-6 - Low - CCI-000366 - V-226526 - SV-226526r603265_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN001440
Vuln IDs
  • V-226526
  • V-899
Rule IDs
  • SV-226526r603265_rule
  • SV-27184
If users do not have a valid home directory, there is no place for the storage and control of files they own.
Checks: C-28687r482966_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-28675r482967_fix

Assign a home directory to any user without one.

a
All interactive user home directories defined in the /etc/passwd file must exist.
CM-6 - Low - CCI-000366 - V-226527 - SV-226527r603265_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN001460
Vuln IDs
  • V-226527
  • V-900
Rule IDs
  • SV-226527r603265_rule
  • SV-27192
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-36385r602758_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-36349r602759_fix

If a user has no home directory, determine why. If possible, delete accounts that have no 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. Update the sixth field in the /etc/passwd file to reflect the user's home directory. # usermod -d OR # vi /etc/passwd

b
The /etc/passwd file must not contain password hashes.
IA-5 - Medium - CCI-000196 - V-226528 - SV-226528r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
GEN001470
Vuln IDs
  • V-226528
  • V-22347
Rule IDs
  • SV-226528r603265_rule
  • SV-26467
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-28689r482972_chk

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

Fix: F-28677r482973_fix

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

b
The /etc/group file must not contain any group password hashes.
CM-6 - Medium - CCI-000366 - V-226529 - SV-226529r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001475
Vuln IDs
  • V-226529
  • V-22348
Rule IDs
  • SV-226529r603265_rule
  • SV-26447
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-28690r482975_chk

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

Fix: F-28678r482976_fix

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

b
All users' home directories must have mode 0750 or less permissive.
AC-3 - Medium - CCI-002165 - V-226530 - SV-226530r854415_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN001480
Vuln IDs
  • V-226530
  • V-901
Rule IDs
  • SV-226530r854415_rule
  • SV-901
Excessive permissions on home directories allow unauthorized access to user's files.
Checks: C-28691r482978_chk

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

Fix: F-28679r482979_fix

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

a
User's home directories must not have extended ACLs.
CM-6 - Low - CCI-000366 - V-226531 - SV-226531r603265_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN001490
Vuln IDs
  • V-226531
  • V-22350
Rule IDs
  • SV-226531r603265_rule
  • SV-26451
Excessive permissions on home directories allow unauthorized access to user's files.
Checks: C-28692r482981_chk

Verify user's 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-28680r482982_fix

Remove the extended ACL from the file. # chmod A- [user home directory with extended ACL]

a
All files and directories contained in interactive user's home directories must be owned by the home directory's owner.
CM-6 - Low - CCI-000366 - V-226532 - SV-226532r603265_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN001540
Vuln IDs
  • V-226532
  • V-914
Rule IDs
  • SV-226532r603265_rule
  • SV-39836
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-36386r602761_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 or root. Procedure: # cut -d : -f 6 /etc/passwd | xargs -n1 -IDIR ls -alLR DIR | more OR # find /&lt;usershomedirectory&gt; ! -fstype nfs ! -user &lt;username&gt; -exec ls -ld {} \; | more If user's home directories contain files or directories not owned by the home directory owner or root, this is a finding.

Fix: F-36350r602762_fix

Change the ownership of files and directories in user's home directories to the owner of the home directory. Procedure: # chown accountowner filename OR # find /<usershomedirectory> ! -fstype nfs ! -user <username> ! /( -name .login -o -name .cshrc -o -name .logout -o -name .profile -o -name .bash_profile -o -name .bashrc -o -name .env -o -name .dtprofile -o -name .dispatch -o -name .emacs -o -name .exrc \) -exec chown <username> {} \;

b
All files and directories contained in user home directories must be group-owned by a group of which the home directory's owner is a member.
CM-6 - Medium - CCI-000366 - V-226533 - SV-226533r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001550
Vuln IDs
  • V-226533
  • V-22351
Rule IDs
  • SV-226533r603265_rule
  • SV-39877
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-28694r482993_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 &lt; users home directory &gt; -exec ls -lLd \; 3. Obtain the list of GIDs associated with the user's account. # id &lt; user name &gt; 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-28682r482994_fix

Change the group of a file not group-owned by a group where the home directory's owner is a member. # chgrp < user's primary group > <file with bad group ownership >

a
All files and directories contained in user's home directories must have mode 0750 or less permissive.
CM-6 - Low - CCI-000366 - V-226534 - SV-226534r603265_rule
RMF Control
CM-6
Severity
Low
CCI
CCI-000366
Version
GEN001560
Vuln IDs
  • V-226534
  • V-915
Rule IDs
  • SV-226534r603265_rule
  • SV-39840
Excessive permissions allow unauthorized access to user's files.
Checks: C-28695r482996_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 \( -perm -0001 -o -perm -0002 -o -perm -0004 -o -perm -0020 -o -perm -2000 -o -perm -4000 \) -exec ls -ld {} \; If user's home directories contain files or directories more permissive than 0750, this is a finding.

Fix: F-28683r482997_fix

Change the mode of files and directories within user's 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.
CM-6 - Medium - CCI-000366 - V-226535 - SV-226535r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001570
Vuln IDs
  • V-226535
  • V-22352
Rule IDs
  • SV-226535r603265_rule
  • SV-26456
Excessive permissions allow unauthorized access to user files.
Checks: C-28696r482999_chk

Check the contents of interactive user's home directories (99 &lt; UID &lt; 60000) for files with extended ACLs. # ls -alLR &lt; users home dir &gt; If the permissions include a "+", the file has an extended ACL and this is a finding.

Fix: F-28684r483000_fix

Remove the extended ACL from the file. # chmod A- [user file with extended ACL]

b
All run control scripts must have mode 0755 or less permissive.
CM-6 - Medium - CCI-000366 - V-226536 - SV-226536r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001580
Vuln IDs
  • V-226536
  • V-906
Rule IDs
  • SV-226536r603265_rule
  • SV-27199
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-36387r602764_chk

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

Fix: F-36351r602765_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 and /lib/svc/method directories to ensure they are not world-writable. If they are world-writable, use the chmod command to correct the vulnerability and to research why. Procedure: # chmod go-w <startupfile>

b
All run control scripts must have no extended ACLs.
CM-6 - Medium - CCI-000366 - V-226537 - SV-226537r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001590
Vuln IDs
  • V-226537
  • V-22353
Rule IDs
  • SV-226537r603265_rule
  • SV-26460
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-28698r483005_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 and this is a finding.

Fix: F-28686r483006_fix

Remove the extended ACL from the file. # chmod A- [run control script with extended ACL]

b
Run control scripts executable search paths must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-226538 - SV-226538r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001600
Vuln IDs
  • V-226538
  • V-907
Rule IDs
  • SV-226538r603265_rule
  • SV-39837
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-28699r483008_chk

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

Fix: F-28687r483009_fix

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

b
Run control scripts lists of preloaded libraries must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-226539 - SV-226539r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001605
Vuln IDs
  • V-226539
  • V-22354
Rule IDs
  • SV-226539r603265_rule
  • SV-26462
The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.
Checks: C-28700r483011_chk

Verify run control scripts' library preload list. Procedure: # find /etc/rc* /etc/init.d -type f -print | xargs grep LD_PRELOAD This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-28688r483012_fix

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

b
Run control scripts lists of preloaded libraries must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-226540 - SV-226540r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001610
Vuln IDs
  • V-226540
  • V-22355
Rule IDs
  • SV-226540r603265_rule
  • SV-26464
The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.
Checks: C-28701r483014_chk

Verify run control scripts' library preload list. Procedure: # find /etc/rc* /etc/init.d -type f -print | xargs grep LD_PRELOAD This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-28689r483015_fix

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

c
Run control scripts must not execute world-writable programs or scripts.
CM-6 - High - CCI-000366 - V-226541 - SV-226541r603265_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN001640
Vuln IDs
  • V-226541
  • V-910
Rule IDs
  • SV-226541r603265_rule
  • SV-39810
World-writable files could be modified accidentally or maliciously to compromise system integrity.
Checks: C-28702r483017_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 " " OR # ls -l /sbin/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " " Create a list of world writeable files. # find / -perm -002 -type f &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 " "` OR # more `ls -l /sbin/init.d/* | tr '\011' ' ' | tr -s ' ' | cut -f 9,9 -d " "` If any system startup script executes any file or script that is world-writable, this is a finding.

Fix: F-28690r483018_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.
CM-6 - Medium - CCI-000366 - V-226542 - SV-226542r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001660
Vuln IDs
  • V-226542
  • V-4089
Rule IDs
  • SV-226542r603265_rule
  • SV-27207
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-28703r483020_chk

Check run control scripts' ownership. # ls -lL /etc/rc* /etc/init.d If any run control script is not owned by root, this is a finding.

Fix: F-28691r483021_fix

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

b
All system start-up files must be group-owned by root, sys, or bin.
CM-6 - Medium - CCI-000366 - V-226543 - SV-226543r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001680
Vuln IDs
  • V-226543
  • V-4090
Rule IDs
  • SV-226543r603265_rule
  • SV-27213
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-28704r483023_chk

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

Fix: F-28692r483024_fix

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

b
System start-up files must only execute programs owned by a privileged UID or an application.
CM-6 - Medium - CCI-000366 - V-226544 - SV-226544r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001700
Vuln IDs
  • V-226544
  • V-4091
Rule IDs
  • SV-226544r603265_rule
  • SV-27219
System start-up files executing programs owned by other than root (or another privileged user) or an application indicates the system may have been compromised.
Checks: C-28705r483026_chk

Determine the programs executed by system start-up files. Determine the ownership of the executed programs. # cat /etc/rc* /etc/init.d/* | more Check the ownership of every program executed by the system start-up files. # ls -l &lt;executed program&gt; If any executed program is not owned by root, sys, bin, or in rare cases, an application account, this is a finding.

Fix: F-28693r483027_fix

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

b
All global initialization files must not have extended ACLs.
CM-6 - Medium - CCI-000366 - V-226545 - SV-226545r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001730
Vuln IDs
  • V-226545
  • V-22356
Rule IDs
  • SV-226545r603265_rule
  • SV-26471
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-28706r483032_chk

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

Fix: F-28694r483033_fix

Remove the extended ACL from the file. # chmod A- [global initialization file with extended ACL]

b
All skeleton files (typically those in /etc/skel) must have mode 0644 or less permissive.
AC-3 - Medium - CCI-002165 - V-226546 - SV-226546r854416_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN001800
Vuln IDs
  • V-226546
  • V-788
Rule IDs
  • SV-226546r854416_rule
  • SV-788
If the skeleton files are not protected, unauthorized personnel could change user startup parameters and possibly jeopardize user files.
Checks: C-28707r483044_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-28695r483045_fix

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

b
Skeleton files must not have extended ACLs.
CM-6 - Medium - CCI-000366 - V-226547 - SV-226547r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001810
Vuln IDs
  • V-226547
  • V-22357
Rule IDs
  • SV-226547r603265_rule
  • SV-26475
If the skeleton files are not protected, unauthorized personnel could change user's startup parameters and possibly jeopardize user's files.
Checks: C-28708r483047_chk

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

Fix: F-28696r483048_fix

Remove the extended ACL from the file. # chmod A- [skeleton file with extended ACL]

b
All skeleton files and directories (typically in /etc/skel) must be owned by root.
CM-6 - Medium - CCI-000366 - V-226548 - SV-226548r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001820
Vuln IDs
  • V-226548
  • V-11984
Rule IDs
  • SV-226548r603265_rule
  • SV-12485
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 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-28709r483050_chk

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

Fix: F-28697r483051_fix

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

b
All skeleton files (typically in /etc/skel) must be group-owned by root, bin, or sys.
CM-6 - Medium - CCI-000366 - V-226549 - SV-226549r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001830
Vuln IDs
  • V-226549
  • V-22358
Rule IDs
  • SV-226549r603265_rule
  • SV-39901
If the skeleton files are not protected, unauthorized personnel could change user startup parameters and possibly jeopardize user files.
Checks: C-28710r483053_chk

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

Fix: F-28698r483054_fix

Change the group owner of the skeleton file to root. Procedure: # chgrp <group> /etc/skel/[skeleton file]

b
All global initialization files executable search paths must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-226550 - SV-226550r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001840
Vuln IDs
  • V-226550
  • V-11985
Rule IDs
  • SV-226550r603265_rule
  • SV-12486
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-36388r602767_chk

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

Fix: F-36352r602768_fix

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

b
Global initialization files library search paths must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-226551 - SV-226551r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001845
Vuln IDs
  • V-226551
  • V-22359
Rule IDs
  • SV-226551r603265_rule
  • SV-26478
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-28712r483059_chk

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

Fix: F-28700r483060_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. Edit the global initialization file(s) and remove any empty entry that is defined.

b
Global initialization files lists of preloaded libraries must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-226552 - SV-226552r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001850
Vuln IDs
  • V-226552
  • V-22360
Rule IDs
  • SV-226552r603265_rule
  • SV-39839
The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary. If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.
Checks: C-28713r483062_chk

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

Fix: F-28701r483063_fix

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

b
All local initialization files must be owned by the user or root.
CM-6 - Medium - CCI-000366 - V-226553 - SV-226553r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001860
Vuln IDs
  • V-226553
  • V-904
Rule IDs
  • SV-226553r603265_rule
  • SV-904
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-36389r602770_chk

NOTE: The following commands must be run in the BASH shell. Check the ownership of local initialization files. Procedure (using a shell that supports ~USER as USER's home directory): # cut -d : -f 1 /etc/passwd | xargs -n1 -IUSER sh -c "ls -l ~USER/.[a-z]*" # cut -d : -f 1 /etc/passwd | xargs -n1 -IUSER find ~USER/.dt ! -fstype nfs ! -user USER -exec ls -ld {} \; If local initialization files are not owned by the home directory's user, this is a finding.

Fix: F-36353r602771_fix

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

b
All local initialization files must have mode 0740 or less permissive.
CM-6 - Medium - CCI-000366 - V-226554 - SV-226554r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001880
Vuln IDs
  • V-226554
  • V-905
Rule IDs
  • SV-226554r603265_rule
  • SV-905
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-36390r602773_chk

Check the modes 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 (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, the .dt directory or the .dtprofile file is more permissive than 0755, this is a finding.

Fix: F-36354r602774_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.
CM-6 - Medium - CCI-000366 - V-226555 - SV-226555r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001890
Vuln IDs
  • V-226555
  • V-22362
Rule IDs
  • SV-226555r603265_rule
  • SV-26484
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-28716r483074_chk

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

Fix: F-28704r483075_fix

Remove the extended ACL from the file. # chmod A- [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-226556 - SV-226556r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001900
Vuln IDs
  • V-226556
  • V-11986
Rule IDs
  • SV-226556r603265_rule
  • SV-12487
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-28717r483077_chk

NOTE: The following must be done in the BASH shell. Examine the PATH variable contained in any user's local initialization files using a command shell that supports the use of ~USER as USER's home directory. # cat /etc/passwd | cut -f 1,1 -d ":" | xargs -n1 -IUSER sh -c 'grep -i PATH ~USER/.*' The PATH variable is a colon-delimited directory list. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-28705r483078_fix

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

b
Local initialization files library search paths must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-226557 - SV-226557r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001901
Vuln IDs
  • V-226557
  • V-22363
Rule IDs
  • SV-226557r603265_rule
  • SV-26486
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-28718r483080_chk

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

Fix: F-28706r483081_fix

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

b
Local initialization files lists of preloaded libraries must contain only authorized paths.
CM-6 - Medium - CCI-000366 - V-226558 - SV-226558r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001902
Vuln IDs
  • V-226558
  • V-22364
Rule IDs
  • SV-226558r603265_rule
  • SV-26488
The library preload list environment variable contains a list of libraries for the dynamic linker to load before loading the libraries required by the binary If this list contains paths to libraries to the current working directory that have not been authorized, unintended libraries may be preloaded. This variable is formatted as a space-separated list of libraries. Paths starting with a slash (/) are absolute paths.
Checks: C-28719r483083_chk

NOTE: The following must be done in the BASH shell Verify local initialization files have library preload list containing only authorized paths. # cut -d : -f 1 /etc/passwd | xargs -n1 -IUSER sh -c 'grep -l LD_PRELOAD ~USER/.*' This variable is formatted as a colon-separated list of paths. If there is an empty entry, such as a leading or trailing colon, or two consecutive colons, this is a finding. If an entry begins with a character other than a slash (/), or has not been documented with the ISSO, this is a finding.

Fix: F-28707r483084_fix

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

b
User start-up files must not execute world-writable programs.
CM-6 - Medium - CCI-000366 - V-226559 - SV-226559r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001940
Vuln IDs
  • V-226559
  • V-4087
Rule IDs
  • SV-226559r603265_rule
  • SV-39812
If start-up files execute world-writable programs, especially in unprotected directories, they could be maliciously modified to become Trojans destroying user files or otherwise compromising the system at the user, or higher, level. If the system is compromised at the user level, it is much easier to eventually compromise the system at the root and network level.
Checks: C-28720r483086_chk

Check local initialization files for any executed world-writable programs or scripts. Procedure: # find / -perm -002 -type f | egrep -v '^(/proc|/system/contract)' &gt; wwlist # fgrep -f wwlist /&lt;usershomedirectory&gt;/.* If any local initialization file executes a world-writable program or script, this is a finding.

Fix: F-28708r483087_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-226560 - SV-226560r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN001980
Vuln IDs
  • V-226560
  • V-11987
Rule IDs
  • SV-226560r603265_rule
  • SV-12488
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-28721r483089_chk

Check system configuration files for plus (+) entries. Procedure: # find / -name .rhosts -exec grep + {} \; # find / -name .shosts -exec grep + {} \; # find / -name hosts.equiv -exec grep + {} \; # find / -name shosts.equiv -exec grep + {} \; # 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-28709r483090_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-226561 - SV-226561r603265_rule
RMF Control
IA-5
Severity
Medium
CCI
CCI-000196
Version
GEN002000
Vuln IDs
  • V-226561
  • V-913
Rule IDs
  • SV-226561r603265_rule
  • SV-913
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-28722r483092_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-28710r483093_fix

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

b
All .rhosts, .shosts, or host.equiv files must only contain trusted host-user pairs.
CM-6 - Medium - CCI-000366 - V-226562 - SV-226562r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002020
Vuln IDs
  • V-226562
  • V-4427
Rule IDs
  • SV-226562r603265_rule
  • SV-40331
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-28723r483095_chk

Locate and examine all .rhosts, .shosts, hosts.equiv, and shosts.equiv files. The .rhosts and .shosts files are stored in home directories. (If a user does not have a home directory assigned in /etc/passwd, the root directory (/) is assigned as a default home directory.) Procedure: # for i in `cut -d: -f6 /etc/passwd | awk '$1 == "" {$1 = "/"} {print $1}'`; do more $i/.rhosts; more $i/.shosts; done # more /etc/hosts.equiv # more /etc/ssh/shosts.equiv If any .rhosts, .shosts, hosts.equiv, or shosts.equiv file contains other than host-user pairs, this is a finding.

Fix: F-28711r483096_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-226563 - SV-226563r603265_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN002040
Vuln IDs
  • V-226563
  • V-11988
Rule IDs
  • SV-226563r603265_rule
  • SV-40332
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-28724r483098_chk

Check for the existence of the files. The .rhosts and .shosts files are stored in home directories. (If a user does not have a home directory assigned in /etc/passwd, the root directory (/) is assigned as a default home directory.) Procedure (the first command is five lines long): # for homedir in `cut -d: -f6 /etc/passwd | awk '$1 == "" {$1 = "/"} {print $1}'`; do ls -l $homedir/.rhosts; ls -l $homedir/.shosts; done # ls -l /etc/hosts.equiv # ls -l /etc/ssh/shosts.equiv If .rhosts, .shosts, hosts.equiv, or shosts.equiv are found, this is a finding.

Fix: F-28712r483099_fix

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

b
All .rhosts, .shosts, .netrc, or hosts.equiv files must be accessible by only root or the owner.
CM-6 - Medium - CCI-000366 - V-226564 - SV-226564r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002060
Vuln IDs
  • V-226564
  • V-4428
Rule IDs
  • SV-226564r603265_rule
  • SV-40341
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-36391r602776_chk

# for i in `cut -d: -f6 /etc/passwd | awk '$1 == "" {$1 = "/"} {print $1}'`; do ls -l $i/.rhosts $i/.shosts $i/.netrc; done # ls -l /etc/hosts.equiv # ls -l /etc/ssh/shosts.equiv If the .netrc, .rhosts, .shosts, hosts.equiv, or shosts.equiv files have permissions greater than 600, then this is a finding. (If a password entry has no home directory assigned, the root directory (/) is used as a default.)

Fix: F-36355r602777_fix

Ensure the permission for these files is set at 600 or less and the owner is the owner of the home directory that it is in. These files, outside of home directories (other than hosts.equiv in /etc and shosts.equiv in /etc/ssh; both are owned by root), have no meaning.

b
The .rhosts file must not be supported in PAM.
CM-6 - Medium - CCI-000366 - V-226565 - SV-226565r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002100
Vuln IDs
  • V-226565
  • V-11989
Rule IDs
  • SV-226565r603265_rule
  • SV-40334
The .rhosts files are used to specify a list of hosts that are permitted remote access to a particular account without authenticating. The use of such a mechanism defeats strong identification and authentication requirements.
Checks: C-28726r483104_chk

Check the PAM configuration for rhosts_auth. Procedure: # grep rhosts_auth /etc/pam.conf If a rhosts_auth entry is found that is not commented out, this is a finding.

Fix: F-28714r483105_fix

Edit /etc/pam.conf and remove the reference(s) to the rhosts_auth module.

b
The /etc/shells (or equivalent) file must exist.
CM-6 - Medium - CCI-000366 - V-226566 - SV-226566r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002120
Vuln IDs
  • V-226566
  • V-916
Rule IDs
  • SV-226566r603265_rule
  • SV-40806
The shells file (or equivalent) lists approved default shells. It helps provide layered defense to the security approach by ensuring users cannot change their default shell to an unauthorized shell that may not be secure.
Checks: C-36392r602779_chk

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

Fix: F-36356r602780_fix

Create a /etc/shells file containing a list of valid system shells. The list below contains the default shells from the shells(4) man page. Procedure (the command is 24 lines long): cat >/etc/shells <<EOF /bin/bash /bin/csh /bin/jsh /bin/ksh /bin/pfcsh /bin/pfksh /bin/pfsh /bin/sh /bin/tcsh /bin/zsh /sbin/jsh /sbin/sh /usr/bin/bash /usr/bin/csh /usr/bin/jsh /usr/bin/ksh /usr/bin/pfcsh /usr/bin/pfksh /usr/bin/pfsh /usr/bin/sh /usr/bin/tcsh /usr/bin/zsh EOF

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-226567 - SV-226567r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002140
Vuln IDs
  • V-226567
  • V-917
Rule IDs
  • SV-226567r603265_rule
  • SV-917
The shells file lists approved default shells. It helps provide layered defense to the security approach by ensuring users cannot change their default shell to an unauthorized shell that may not be secure.
Checks: C-28728r483110_chk

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

Fix: F-28716r483111_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.

b
All shell files must be owned by root or bin.
CM-6 - Medium - CCI-000366 - V-226568 - SV-226568r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002200
Vuln IDs
  • V-226568
  • V-921
Rule IDs
  • SV-226568r603265_rule
  • SV-921
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-28729r483113_chk

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

Fix: F-28717r483114_fix

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

b
All shell files must be group-owned by root, bin, or sys.
CM-6 - Medium - CCI-000366 - V-226569 - SV-226569r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002210
Vuln IDs
  • V-226569
  • V-22365
Rule IDs
  • SV-226569r603265_rule
  • SV-39902
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-28730r483116_chk

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

Fix: F-28718r483117_fix

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

c
All shell files must have mode 0755 or less permissive.
CM-6 - High - CCI-000366 - V-226570 - SV-226570r603265_rule
RMF Control
CM-6
Severity
High
CCI
CCI-000366
Version
GEN002220
Vuln IDs
  • V-226570
  • V-922
Rule IDs
  • SV-226570r603265_rule
  • SV-922
Shells with world/group-write permissions give the ability to maliciously modify the shell to obtain unauthorized access.
Checks: C-28731r483119_chk

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

Fix: F-28719r483120_fix

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

b
All shell files must not have extended ACLs.
CM-6 - Medium - CCI-000366 - V-226571 - SV-226571r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002230
Vuln IDs
  • V-226571
  • V-22366
Rule IDs
  • SV-226571r603265_rule
  • SV-26492
Shells with world/group write permissions give the ability to maliciously modify the shell to obtain unauthorized access.
Checks: C-28732r483122_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, this is a finding.

Fix: F-28720r483123_fix

Remove the extended ACL from the file. # chmod A- [shell]

a
The system must be checked for extraneous device files at least weekly.
CM-3 - Low - CCI-001744 - V-226572 - SV-226572r854417_rule
RMF Control
CM-3
Severity
Low
CCI
CCI-001744
Version
GEN002260
Vuln IDs
  • V-226572
  • V-923
Rule IDs
  • SV-226572r854417_rule
  • SV-923
If an unauthorized device is allowed to exist on the system, there is the possibility the system may perform unauthorized operations.
Checks: C-36393r602782_chk

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

Fix: F-36357r602783_fix

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

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

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

Fix: F-28722r483129_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.
CM-6 - Medium - CCI-000366 - V-226574 - SV-226574r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002300
Vuln IDs
  • V-226574
  • V-925
Rule IDs
  • SV-226574r603265_rule
  • SV-925
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-28735r483131_chk

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

Fix: F-28723r483132_fix

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

b
Audio devices must have mode 0660 or less permissive.
AC-3 - Medium - CCI-002165 - V-226575 - SV-226575r854418_rule
RMF Control
AC-3
Severity
Medium
CCI
CCI-002165
Version
GEN002320
Vuln IDs
  • V-226575
  • V-1048
Rule IDs
  • SV-226575r854418_rule
  • SV-27241
Globally accessible audio and video devices have proven to be security hazards. There is software that can activate system microphones and video devices connected to user workstations and/or X terminals. Once the microphone has been activated, it is possible to eavesdrop on otherwise private conversations without the victim being aware of it. This action effectively changes the user's microphone to a bugging device.
Checks: C-28736r483134_chk

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

Fix: F-28724r483135_fix

Change the mode of the audio device. # chmod -R 0660 /dev/audio

b
Audio devices must not have extended ACLs.
CM-6 - Medium - CCI-000366 - V-226576 - SV-226576r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002330
Vuln IDs
  • V-226576
  • V-22367
Rule IDs
  • SV-226576r603265_rule
  • SV-26496
File system ACLs can provide access to files beyond what is allowed by the mode numbers of the files.
Checks: C-28737r483137_chk

Check the permissions of audio devices. # ls -lL /dev/audio If the permissions include a "+", the file has an extended ACL and this is a finding.

Fix: F-28725r483138_fix

Remove the extended ACL from the file. # chmod A- /dev/audio

b
Audio devices must be owned by root.
CM-6 - Medium - CCI-000366 - V-226577 - SV-226577r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002340
Vuln IDs
  • V-226577
  • V-1049
Rule IDs
  • SV-226577r603265_rule
  • SV-27246
Globally Accessible audio and video devices have proven to be security hazards. There is software that can activate system microphones and video devices connected to user workstations and/or X terminals. Once the microphone has been activated, it is possible to eavesdrop on otherwise private conversations without the victim being aware of it. This action effectively changes the user's microphone to a bugging device.
Checks: C-28738r483140_chk

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

Fix: F-28726r483141_fix

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

b
Audio devices must be group-owned by root, sys, or bin.
CM-6 - Medium - CCI-000366 - V-226578 - SV-226578r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002360
Vuln IDs
  • V-226578
  • V-1061
Rule IDs
  • SV-226578r603265_rule
  • SV-27251
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-28739r483143_chk

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

Fix: F-28727r483144_fix

Change the group owner of the audio device. Procedure: # chgrp system <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-226579 - SV-226579r603265_rule
RMF Control
CM-6
Severity
Medium
CCI
CCI-000366
Version
GEN002380
Vuln IDs
  • V-226579
  • V-801
Rule IDs
  • SV-226579r603265_rule
  • SV-801
All files with the setuid bit set will allow anyone running these files to be temporarily assigned the UID of the file. While many system files depend on these attributes for proper operation, security problems can result if setuid is assigned to programs that allow reading and writing of files, or shell escapes. Only default vendor-supplied executables should have the setuid bit set.
Checks: C-28740r483146_chk

Files with the setuid bit set will allow anyone running these files to be temporarily assigned the user or group ID of the file. If an executable with setuid allows shell escapes, the user can operate on the system with the effective permission rights of the user or group owner. List all setuid files on the system. Procedure: # find / -perm -4000 -exec ls -l {} \; | more NOTE: Executing these commands may result in large listings of files; the output may be redirected to a file for easier analysis. Ask the SA or IAO if files with the setuid bit set have been documented. If any undocumented file has its setuid bit set, this is a finding.

Fix: F-28728r483147_fix

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