SOLARIS 10 X86 SECURITY TECHNICAL IMPLEMENTATION GUIDE
Pick two releases to diff their requirements.
Open a previous version of this STIG.
Digest of Updates −2 ✎ 97
Comparison against the immediately-prior release (V1R13). Rule matching uses the Group Vuln ID. Content-change detection compares the rule’s description, check, and fix text after stripping inline markup — cosmetic-only edits aren’t flagged.
Removed rules 2
- V-22554 Medium The system must not accept source-routed IPv6 packets.
- V-22575 Medium A root kit check tool must be run on the system at least weekly.
Content changes 97
- V-1010 Medium description Public directories must be the only world-writable directories and world-writable files must be located only in public directories.
- V-1011 Low description Inetd or xinetd logging/tracing must be enabled.
- V-1026 Medium description The Samba Web Administration Tool (SWAT) must be restricted to the local host or require SSL.
- V-1027 Medium description The smb.conf file must be owned by root.
- V-1028 Medium description The smb.conf file must have mode 0644 or less permissive.
- V-1030 Medium description The smb.conf file must use the hosts option to restrict access to Samba.
- V-1046 High description Root passwords must never be passed over a network in clear text form.
- V-1056 Medium description The smb.conf file must be group-owned by root, bin, or sys.
- V-11945 Medium description 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.
- V-11947 Medium description The system must require passwords contain a minimum of 15 characters.
- V-11985 Medium descriptioncheck All global initialization files' executable search paths must contain only absolute paths.
- V-11986 Medium descriptioncheck All local initialization files' executable search paths must contain only absolute paths.
- V-11999 Medium description The system must implement non-executable program stacks.
- V-12002 Medium descriptioncheck The system must not forward IPv4 source-routed packets.
- V-12004 Medium description The system must log authentication informational data.
- V-12019 Medium description The snmpd.conf files must be owned by root.
- V-12022 Medium description The SSH daemon must be configured for IP filtering.
- V-12025 Medium description The system must not have any peer-to-peer file-sharing application installed.
- V-12030 Medium description The system's access control program must be configured to grant or deny system access to specific hosts.
- V-12765 Medium description The system must use and update a DoD-approved virus scan program.
- V-22290 Medium description The system clock must be synchronized continuously.
- V-22306 Medium description The system must require at least eight characters be changed between the old and new passwords during a password change.
- V-22323 Medium description The /etc/hosts file must be owned by root.
- V-22354 Medium descriptioncheck Run control scripts' library search paths must contain only absolute paths.
- V-22355 Medium descriptioncheck Run control scripts' lists of preloaded libraries must contain only absolute paths.
- V-22359 Medium descriptioncheck Global initialization files' library search paths must contain only absolute paths.
- V-22360 Medium descriptioncheck Global initialization files' lists of preloaded libraries must contain only absolute paths.
- V-22363 Medium descriptioncheck Local initialization files' library search paths must contain only absolute paths.
- V-22364 Medium descriptioncheck Local initialization files' lists of preloaded libraries must contain only absolute paths.
- V-22409 Low descriptioncheck The system must not process ICMP timestamp requests.
- V-22410 Medium descriptioncheck The system must not respond to ICMPv4 echoes sent to a broadcast address.
- V-22411 Medium descriptioncheck The system must not respond to ICMP timestamp requests sent to a broadcast address.
- V-22412 Medium descriptioncheck The system must not apply reversed source routing to TCP responses.
- V-22414 Medium descriptioncheck The system must not accept source-routed IPv4 packets.
- V-22415 Medium description Proxy ARP must not be enabled on the system.
- V-22416 Medium descriptioncheck The system must ignore IPv4 ICMP redirect messages.
- V-22417 Medium descriptioncheck The system must not send IPv4 ICMP redirects.
- V-22418 Low description The system must log martian packets.
- V-22422 Low description All local file systems must employ journaling or another mechanism ensuring file system consistency.
- V-22435 Medium description The hosts.lpd (or equivalent) file must be group-owned by root, bin, or sys.
- V-22436 Medium description The hosts.lpd (or equivalent) file must not have an extended ACL.
- V-22459 Medium description The SSH daemon must be configured to not use Cipher-Block Chaining (CBC) ciphers.
- V-22460 Medium description The SSH daemon must be configured to only use Message Authentication Codes (MACs) employing FIPS 140-2 approved cryptographic hash algorithms.
- V-22463 Medium description The SSH client must be configured to only use Message Authentication Codes (MACs) employing FIPS 140-2 approved cryptographic hash algorithms.
- V-22497 Medium description The smb.conf file must not have an extended ACL.
- V-22499 Medium description Samba must be configured to use an authentication mechanism other than "share."
- V-22500 Medium description Samba must be configured to use encrypted passwords.
- V-22501 Medium description Samba must be configured to not allow guest access to shares.
- V-22550 Medium descriptioncheck The system must ignore IPv6 ICMP redirect messages.
- V-22551 Medium descriptioncheck The system must not send IPv6 ICMP redirects.
- V-22553 Medium descriptioncheck The system must not forward IPv6 source-routed packets.
- V-22579 Low description The system must have USB Mass Storage disabled unless needed.
- V-22582 Medium description The system must employ a local firewall.
- V-22583 Medium description The system's local firewall must implement a deny-all, allow-by-exception policy.
- V-22585 Medium description The system's boot loader configuration file(s) must not have extended ACLs.
- V-22586 Medium description The system's boot loader configuration files must be owned by root.
- V-22587 Medium description The system's boot loader configuration file(s) must be group-owned by root, bin, sys, or system.
- V-22609 Medium description The physical devices must not be assigned to non-global zones.
- V-23738 Low descriptioncheck The system must use a separate file system for the system audit data path.
- V-23741 Medium descriptioncheck TCP backlog queue sizes must be set appropriately.
- V-23972 Medium descriptioncheck The system must not respond to ICMPv6 echo requests sent to a broadcast address.
- V-24347 Medium description The system, if capable, must be configured to require the use of a CAC, PIV compliant hardware token, or Alternate Logon Token (ALT) for authentication.
- V-24624 Medium description The system boot loader must protect passwords using an MD5 or stronger cryptographic hash.
- V-4248 High description For systems capable of using GRUB, the system must be configured with GRUB as the default boot loader unless another boot loader has been authorized, justified, and documented using site-defined procedures.
- V-4249 High description The system boot loader must require authentication.
- V-4250 Medium description The system's boot loader configuration file(s) must have mode 0600 or less permissive.
- V-4295 High description The SSH daemon must be configured to only use the SSHv2 protocol.
- V-4301 Medium descriptioncheck The system clock must be synchronized to an authoritative DoD time source.
- V-4321 Medium description The system must not run Samba unless needed.
- V-4688 High description The rexec daemon must not be running.
- V-4701 Low description The system must not have the finger service active.
- V-4702 Medium description If the system is an anonymous FTP server, it must be isolated to the DMZ network.
- V-760 Medium description Direct logins must not be permitted to shared, default, application, or utility accounts.
- V-761 Medium descriptioncheck All accounts on the system must have unique user or account names.
- V-773 Medium description The root account must be the only account having an UID of 0.
- V-776 Medium descriptioncheck The root account's executable search path must be the vendor default and must contain only absolute paths.
- V-778 Medium description The system must prevent the root account from directly logging in except from the system console.
- V-783 Medium description System security patches and updates must be installed and up-to-date.
- V-787 Medium descriptioncheckfix System log files must have mode 0640 or less permissive.
- V-794 Medium descriptioncheckfix All system command files must have mode 755 or less permissive.
- V-805 Medium description Removable media, remote file systems, and any file system that does not contain approved setuid files must be mounted with the "nosuid" option.
- V-808 Medium description The system and user default umask must be 077.
- V-811 Medium descriptioncheck Auditing must be implemented.
- V-828 Medium description The hosts.lpd (or equivalent) file must be owned by root.
- V-829 Medium description The hosts.lpd (or equivalent) must have mode 0644 or less permissive.
- V-836 Medium description The system syslog service must log informational and more severe SMTP service messages.
- V-841 Medium description The ftpusers file must contain account names not allowed to use FTP.
- V-904 Medium description All local initialization files must be owned by the user or root.
- V-906 Medium description All run control scripts must have mode 0755 or less permissive.
- V-907 Medium description Run control scripts' executable search paths must contain only absolute paths.
- V-913 Medium description There must be no .netrc files on the system.
- V-923 Low description The system must be checked for extraneous device files at least weekly.
- V-924 Medium description Device files and directories must only be writable by users with a system account or as configured by the vendor.
- V-931 Medium description All NFS-exported system files and system directories must be owned by root.
- V-932 Medium description The NFS anonymous UID and GID must be configured to values that have no permissions.
- V-940 Medium description The system must use an access control program.
- V-941 Medium description The system's access control program must log each system access attempt.
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- GEN000020
- Vuln IDs
-
- V-756
- Rule IDs
-
- SV-36752r1_rule
Checks: C-35835r1_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-31076r1_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.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN000280
- Vuln IDs
-
- V-760
- Rule IDs
-
- SV-41504r1_rule
Checks: C-27975r1_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-24339r1_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.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000764
- Version
- GEN000300
- Vuln IDs
-
- V-761
- Rule IDs
-
- SV-27061r2_rule
Checks: C-27977r4_chk
Check the system for duplicate account names. Example: # passwd -sa | sort | uniq -c | awk '$1 > 1 {print $2}' If any duplicate account names are found, this is a finding.
Fix: F-24342r1_fix
Change user account names, or delete accounts, so each account has a unique name.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000764
- Version
- GEN000320
- Vuln IDs
-
- V-762
- Rule IDs
-
- SV-27065r1_rule
Checks: C-27982r1_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-24344r1_fix
Edit user accounts to provide unique UIDs for each account.
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN000400
- Vuln IDs
-
- V-763
- Rule IDs
-
- SV-28596r1_rule
Checks: C-28845r1_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 & consent to terms in IS user agreem't."
Fix: F-25868r1_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."
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN000440
- Vuln IDs
-
- V-765
- Rule IDs
-
- SV-27080r1_rule
Checks: C-27994r1_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-33970r1_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.
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-000044
- Version
- GEN000460
- Vuln IDs
-
- V-766
- Rule IDs
-
- SV-39815r1_rule
Checks: C-38685r1_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-33972r1_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
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-002238
- Version
- GEN000480
- Vuln IDs
-
- V-768
- Rule IDs
-
- SV-27094r1_rule
Checks: C-28006r1_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-24360r1_fix
Edit the /etc/default/login file and set SLEEPTIME to 4.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000520
- Vuln IDs
-
- V-769
- Rule IDs
-
- SV-769r2_rule
Checks: C-229r2_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-923r2_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.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN000560
- Vuln IDs
-
- V-770
- Rule IDs
-
- SV-27105r1_rule
Checks: C-28020r1_chk
Verify no accounts have blank passwords. # logins -p If any account with a blank password is found, this is a finding.
Fix: F-24370r2_fix
Remove, lock, or configure a password for any account with a blank password.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000880
- Vuln IDs
-
- V-773
- Rule IDs
-
- SV-39820r1_rule
Checks: C-38691r1_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-24403r1_fix
Remove or change the UID of accounts other than root that have UID 0.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN000900
- Vuln IDs
-
- V-774
- Rule IDs
-
- SV-774r2_rule
Checks: C-28062r1_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-928r2_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000920
- Vuln IDs
-
- V-775
- Rule IDs
-
- SV-775r2_rule
Checks: C-28063r1_chk
Check the mode of the root home directory. Procedure: # grep "^root" /etc/passwd | awk -F":" '{print $6}' # ls -ld <root home directory> If the mode of the directory is not equal to 0700, this is a finding. If the home directory is /, this is not applicable.
Fix: F-929r2_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.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000940
- Vuln IDs
-
- V-776
- Rule IDs
-
- SV-776r3_rule
Checks: C-236r5_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 other than "$PATH", it is a relative path and this is a finding. If directories beyond those in the vendor's default root path are present, this is a finding.
Fix: F-930r2_fix
Edit the root user's local initialization files. Change any found PATH variable settings to the vendor's default path for the root user. Remove any empty path entries or references to relative paths.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000960
- Vuln IDs
-
- V-777
- Rule IDs
-
- SV-37075r1_rule
Checks: C-35857r1_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-24415r1_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.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN000980
- Vuln IDs
-
- V-778
- Rule IDs
-
- SV-27143r1_rule
Checks: C-28066r1_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-24417r1_fix
Edit the /etc/default/login file and uncomment the line containing /dev/console if it is commented out.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000360
- Vuln IDs
-
- V-780
- Rule IDs
-
- SV-28658r1_rule
Checks: C-29001r1_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-25999r1_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>
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN000380
- Vuln IDs
-
- V-781
- Rule IDs
-
- SV-27069r1_rule
Checks: C-27986r1_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-33975r1_fix
Add a group to the system for each GID referenced that does not have a corresponding group. #/usr/sbin/groupadd < group >
- RMF Control
- SI-4
- Severity
- M
- CCI
- CCI-001259
- Version
- GEN006480
- Vuln IDs
-
- V-782
- Rule IDs
-
- SV-41526r2_rule
Checks: C-285r3_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 <daemon name> -print Determine if the application is active on the system. Procedure: # ps -ef | grep <daemon name> If no host-based intrusion detection system is installed on the system, this is a finding.
Fix: F-936r3_fix
Install a host-based intrusion detection tool.
- RMF Control
- SI-2
- Severity
- M
- CCI
- CCI-001227
- Version
- GEN000120
- Vuln IDs
-
- V-783
- Rule IDs
-
- SV-40813r2_rule
Checks: C-39532r2_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-34668r2_fix
Apply available security updates from Oracle. # smpatch update
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001140
- Vuln IDs
-
- V-784
- Rule IDs
-
- SV-39833r1_rule
Checks: C-38710r1_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-24427r1_fix
Change the mode of files with uneven permissions so owners do not have less permission than group or world users.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001160
- Vuln IDs
-
- V-785
- Rule IDs
-
- SV-785r2_rule
Checks: C-290r2_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-939r2_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001180
- Vuln IDs
-
- V-786
- Rule IDs
-
- SV-27161r1_rule
Checks: C-28109r1_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-940r2_fix
Change the mode of the network services daemon. # chmod 0755 <path>
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- GEN001260
- Vuln IDs
-
- V-787
- Rule IDs
-
- SV-39832r2_rule
Checks: C-38709r2_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-941r3_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001800
- Vuln IDs
-
- V-788
- Rule IDs
-
- SV-788r2_rule
Checks: C-293r2_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-942r2_fix
Change the mode of skeleton files with incorrect mode. # chmod 0644 <skeleton file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001320
- Vuln IDs
-
- V-789
- Rule IDs
-
- SV-27166r1_rule
Checks: C-28120r1_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-34044r1_fix
Change the ownership of NIS/NIS+/yp files to root, bin, or sys. Procedure: # chown -R root /usr/lib/netsvc/yp /var/yp
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001340
- Vuln IDs
-
- V-790
- Rule IDs
-
- SV-27171r1_rule
Checks: C-28133r1_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-34043r1_fix
Change the group owner of the NIS files to root, bin, or sys. Procedure: # chgrp -R root /usr/lib/netsvc/yp /var/yp
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001360
- Vuln IDs
-
- V-791
- Rule IDs
-
- SV-27175r1_rule
Checks: C-28139r1_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-34672r1_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
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001280
- Vuln IDs
-
- V-792
- Rule IDs
-
- SV-39835r1_rule
Checks: C-38712r1_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 0644, this is a finding.
Fix: F-946r2_fix
Change the mode of manual page files to 0644 or less permissive. Procedure (example): # chmod 0644 <path>/<manpage>
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001300
- Vuln IDs
-
- V-793
- Rule IDs
-
- SV-39821r1_rule
Checks: C-38693r1_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-947r2_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.
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001200
- Vuln IDs
-
- V-794
- Rule IDs
-
- SV-794r4_rule
Checks: C-298r6_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-948r3_fix
Change the mode for system command files to 755 or less permissive. Procedure: # chmod 755 <filename>
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001220
- Vuln IDs
-
- V-795
- Rule IDs
-
- SV-795r2_rule
Checks: C-8014r2_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-949r2_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.)
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001240
- Vuln IDs
-
- V-796
- Rule IDs
-
- SV-796r2_rule
Checks: C-8015r2_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-950r2_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.)
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001400
- Vuln IDs
-
- V-797
- Rule IDs
-
- SV-39826r1_rule
Checks: C-301r2_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-34673r1_fix
Change the ownership of the /etc/shadow file. # chown root /etc/shadow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001380
- Vuln IDs
-
- V-798
- Rule IDs
-
- SV-798r2_rule
Checks: C-8016r2_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-952r2_fix
Change the mode of the passwd file to 0644. Procedure: # chmod 0644 /etc/passwd Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001420
- Vuln IDs
-
- V-800
- Rule IDs
-
- SV-800r2_rule
Checks: C-303r2_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-954r2_fix
Change the mode of the /etc/shadow (or equivalent) file. # chmod <mode> <file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000368
- Version
- GEN002380
- Vuln IDs
-
- V-801
- Rule IDs
-
- SV-801r2_rule
Checks: C-527r2_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-955r2_fix
Document the files with the setuid bit set or unset the setuid bit on the executable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000368
- Version
- GEN002440
- Vuln IDs
-
- V-802
- Rule IDs
-
- SV-802r2_rule
Checks: C-8026r2_chk
Locate all setgid files on the system. Procedure: # find / -perm -2000 If the ownership, permissions, location, and ACLs of all files with the setgid bit set are not documented, this is a finding.
Fix: F-956r2_fix
All files with the setgid bit set will be documented in the system baseline and authorized by the Information Systems Security Officer. Locate all setgid files with the following command. find / -perm -2000 -exec ls -lLd {} \; Ensure setgid files are part of the operating system software, documented application software, documented utility software, or documented locally developed software. Ensure none are text files or shell programs.
- RMF Control
- CM-3
- Severity
- M
- CCI
- CCI-000318
- Version
- GEN002400
- Vuln IDs
-
- V-803
- Rule IDs
-
- SV-803r2_rule
Checks: C-528r2_chk
Determine if a weekly automated or manual process is used to generate a list of setuid files on the system and compare it with the prior list. If no such process is in place, this is a finding.
Fix: F-957r2_fix
Establish a weekly automated or manual process to generate a list of setuid files on the system and compare it with the prior list. To create a list of setuid files use the following command. # find / -perm -4000 > setuid-file-list
- RMF Control
- CM-3
- Severity
- M
- CCI
- CCI-000318
- Version
- GEN002460
- Vuln IDs
-
- V-804
- Rule IDs
-
- SV-804r2_rule
Checks: C-8027r2_chk
Determine if a weekly automated or manual process is used to generate a list of setgid files on the system and compare it with the prior list. If no such process is in place, this is a finding.
Fix: F-958r2_fix
Establish a weekly automated or manual process to generate a list of setgid files on the system and compare it with the prior list. To create a list of setgid files use the following command. # find / -perm -2000 > setgid-file-list
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002420
- Vuln IDs
-
- V-805
- Rule IDs
-
- SV-39813r2_rule
Checks: C-38683r4_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-33969r1_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 >
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN002500
- Vuln IDs
-
- V-806
- Rule IDs
-
- SV-806r2_rule
Checks: C-30901r1_chk
Verify all world-writable directories have the sticky bit set. Procedure: # find / -type d -perm -002 ! -perm -1000 > wwlist If the sticky bit is not set on a world-writable directory, this is a finding.
Fix: F-960r2_fix
Set the sticky bit on all public directories. Procedure: # chmod 1777 /tmp (Replace /tmp with the public directory missing the sticky bit, if necessary.)
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002520
- Vuln IDs
-
- V-807
- Rule IDs
-
- SV-807r2_rule
Checks: C-8028r2_chk
Check the ownership of all public directories. Procedure: # find / -type d -perm -1002 -exec ls -ld {} \; If any public directory is not owned by root or an application user, this is a finding.
Fix: F-961r2_fix
Change the owner of public directories to root or an application account. Procedure: # chown root /tmp (Replace root with an application user and/or /tmp with another public directory as necessary.)
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002560
- Vuln IDs
-
- V-808
- Rule IDs
-
- SV-28641r2_rule
Checks: C-28907r2_chk
NOTE: The following commands must be run in the BASH shell. Check global configuration: # find /etc -type f | xargs grep -i umask Check local initialization files: # cut -d: -f1 /etc/passwd | xargs -n1 -iUSER sh -c "grep umask ~USER/.*" If the system and user default umask is not 077, this a finding. Note: If the default umask is 000 or allows for the creation of world writable files this becomes a CAT I finding..
Fix: F-25929r1_fix
Edit the /etc/default/login file for Solaris. Set the variable UMASK=077 Edit local and global initialization files containing "umask" and change them to use 077 instead of the correct value.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000178
- Version
- GEN002640
- Vuln IDs
-
- V-810
- Rule IDs
-
- SV-39834r1_rule
Checks: C-38711r2_chk
Determine if default system accounts (such as, those for sys, bin, uucp, nuucp, daemon, smtp, gdm, lp, nobody) have been disabled. # cat /etc/shadow If an account's password field is "*", "*LK*", "NP", or is prefixed with a "!", the account is locked or disabled. If there are any default system accounts not locked, this is a finding.
Fix: F-964r2_fix
Lock the default system account(s). # passwd -l <user>
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- GEN002660
- Vuln IDs
-
- V-811
- Rule IDs
-
- SV-27266r2_rule
Checks: C-28344r2_chk
Determine the type of zone that you are currently securing. # zonename If the output of "zonename" is "global", then auditing must be enabled. Determine if auditing is enabled. # ps -ef |grep auditd If the auditd process is not found, this is a finding. If the output of "zonename" is not "global", then the "perzone" policy must be determined. # auditconfig –getpolicy audit policies = cnt,perzone If "perzone" is not listed then this requirement is not applicable. If "perzone" is listed then determine if auditing is enabled. # ps -ef |grep auditd If the auditd process is not found, this is a finding.
Fix: F-24513r1_fix
Use /etc/security/bsmconv to enable auditing on the system.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- GEN002680
- Vuln IDs
-
- V-812
- Rule IDs
-
- SV-27271r1_rule
Checks: C-28369r1_chk
Perform the following to determine the location of audit logs and then check the ownership. # more /etc/security/audit_control # ls -lLa <audit log dir> If any audit log file is not owned by root, this is a finding.
Fix: F-966r2_fix
Change the ownership of the audit log file(s). Procedure: # chown root <audit log file>
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000163
- Version
- GEN002700
- Vuln IDs
-
- V-813
- Rule IDs
-
- SV-27282r1_rule
Checks: C-28380r1_chk
Perform the following to determine the location of audit logs and then check the mode of the files. # more /etc/security/audit_control # ls -lLa <audit log dir> If the audit log directory has a mode more permissive than 0750 or any audit log file has a mode more permissive than 0640, this is a finding.
Fix: F-967r2_fix
Change the mode of the audit log directories/files. # chmod 0750 <audit directory> # chmod 0640 <audit file>
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002720
- Vuln IDs
-
- V-814
- Rule IDs
-
- SV-27287r1_rule
Checks: C-28395r1_chk
Check the system audit configuration to determine if failed attempts to access files and programs are audited. # more /etc/security/audit_control If flags -fr or fr are not configured, this is a finding.
Fix: F-24523r1_fix
Edit /etc/security/audit_control and add the fr or -fr flags to the flags list. Load the new audit configuration. # auditconfig -conf
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002740
- Vuln IDs
-
- V-815
- Rule IDs
-
- SV-27292r1_rule
Checks: C-28401r1_chk
# grep flags /etc/security/audit_control Confirm flags fd or +fd and -fd are configured.
Fix: F-24528r1_fix
Edit /etc/security/audit_control and add the fd to the flags list. Load the new audit configuration. # auditconfig -conf
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-000347
- Version
- GEN002760
- Vuln IDs
-
- V-816
- Rule IDs
-
- SV-27298r1_rule
Checks: C-28413r1_chk
Check the auditing configuration of the system. # grep flags /etc/security/audit_control If the am flag is not present, and either of the -am or +am flags is not present, this is a finding.
Fix: F-24539r1_fix
Edit /etc/security/audit_control and add am to the flags list. Load the new audit configuration. # auditconfig -conf
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002800
- Vuln IDs
-
- V-818
- Rule IDs
-
- SV-27303r1_rule
Checks: C-28419r1_chk
Check the system's audit configuration. # grep lo /etc/security/audit_control If the lo flag is not set, and both the +lo and -lo flags are not set, this is a finding. If the lo naflag is not set, and both the +lo and -lo naflags are not set, this is a finding.
Fix: F-24546r1_fix
Edit /etc/security/audit_control and add lo to the flags list and naflags list. Load the new audit configuration. # auditconfig -conf
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002820
- Vuln IDs
-
- V-819
- Rule IDs
-
- SV-27309r1_rule
Checks: C-28437r1_chk
Check the system's audit configuration. # grep flags /etc/security/audit_control Confirm flags fm or +fm and -fm are configured.
Fix: F-24552r1_fix
Edit /etc/security/audit_control and add fm to the flags list. Load the new audit configuration. # auditconfig -conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003720
- Vuln IDs
-
- V-821
- Rule IDs
-
- SV-39883r1_rule
Checks: C-39293r1_chk
Check the ownership of inetd.conf file. Procedure: # ls -lL /etc/inet/inetd.conf This is a finding if any of the above files or directories are not owned by root or bin.
Fix: F-34404r1_fix
Change the ownership of the inetd.conf file to root or bin. Procedure: # chown root /etc/inet/inetd.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003740
- Vuln IDs
-
- V-822
- Rule IDs
-
- SV-39885r1_rule
Checks: C-39292r1_chk
Check the mode of inetd.conf file. # ls -lL /etc/inet/inetd.conf If the mode of the file is more permissive than 0440, this is a finding.
Fix: F-34403r1_fix
Change the mode of the inetd.conf file. # chmod 0440 /etc/inet/inetd.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003760
- Vuln IDs
-
- V-823
- Rule IDs
-
- SV-823r2_rule
Checks: C-28612r1_chk
Check the ownership of the services file. Procedure: # ls -lL /etc/services If the services file is not owned by root or bin, this is a finding.
Fix: F-977r2_fix
Change the ownership of the services file to root or bin. Procedure: # chown root /etc/services
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003780
- Vuln IDs
-
- V-824
- Rule IDs
-
- SV-824r2_rule
Checks: C-8030r2_chk
Check the mode of the services file. Procedure: # ls -lL /etc/services If the services file has a mode more permissive than 0444, this is a finding.
Fix: F-978r2_fix
Change the mode of the services file to 0444 or less permissive. Procedure: # chmod 0444 /etc/services
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN001780
- Vuln IDs
-
- V-825
- Rule IDs
-
- SV-39828r1_rule
Checks: C-38705r1_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-979r2_fix
Edit /etc/profile or another global initialization script and add the mesg -n command.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN003900
- Vuln IDs
-
- V-827
- Rule IDs
-
- SV-40457r1_rule
Checks: C-39287r1_chk
Solaris uses the "IPP" print service and can also use the Samba print service. Verify remote host access is limited. Procedure: # grep -i Listen /etc/apache/httpd-standalone-ipp.conf The /etc/apache/httpd-standalone-ipp.conf file must not contain a Listen *:<port> or equivalent line. If the network address of the "Listen" line is unrestricted, this is a finding. # grep -i "Allow From" /etc/apache/httpd-standalone-ipp.conf The "Allow From" line within the "<Location />" element should limit access to the printers to @LOCAL and specific hosts. If the "Allow From" line contains "All", this is a finding. Verify guest access to printers shared via Samba is restricted according to GEN006235.
Fix: F-34391r1_fix
Configure IPP to use only the localhost or specified remote hosts. Procedure: Modify the /etc/apache/httpd-standalone-ipp.conf file to "Listen" only to the local machine or a known set of hosts (i.e., Listen localhost:631). Modify the /etc/apache/httpd-standalone-ipp.conf file "<Location />" element to "Deny From All" and "Allow from 127.0.0.1" or allowed host addresses. Restart the IPP service: # svcadm restart ipp-listener
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003920
- Vuln IDs
-
- V-828
- Rule IDs
-
- SV-37455r3_rule
Checks: C-36123r6_chk
Check the owner of the print service configuration files. Procedure: # ls -lL /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If the owner of any of the print service configuration files is not root, this is a finding.
Fix: F-34392r2_fix
Change the owner of the print service configuration files. Procedure: # chown root /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/sfw/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003940
- Vuln IDs
-
- V-829
- Rule IDs
-
- SV-37457r2_rule
Checks: C-36125r3_chk
Check the mode of the print service configuration files. Procedure: # ls -lL /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If the mode of any of the print service configuration file is more permissive than 0644, this is a finding.
Fix: F-34395r3_fix
Change the mode of the print service configuration files to 0644 or less permissive. Procedure: # chmod 0644 /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004360
- Vuln IDs
-
- V-831
- Rule IDs
-
- SV-40493r1_rule
Checks: C-39300r1_chk
Find the alias file 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 ownership of the alias file. Procedure: # ls -lL <alias file> If the alias file is not owned by root, this is a finding.
Fix: F-34503r1_fix
Change the owner of the /etc/mail/aliases file (or equivalent, such as /usr/lib/aliases) to root. Procedure: # chown root /etc/mail/aliases
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004380
- Vuln IDs
-
- V-832
- Rule IDs
-
- SV-40651r1_rule
Checks: C-39390r1_chk
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 permissions 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 alias files have a mode more permissive than 0644, this is a finding.
Fix: F-34508r1_fix
Change the mode of the /etc/mail/aliases files (or equivalent, such as /usr/lib/aliases) to 0644. Procedure: # chmod 0644 /etc/mail/aliases /etc/mail/aliases.db
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004440
- Vuln IDs
-
- V-835
- Rule IDs
-
- SV-835r2_rule
Checks: C-616r2_chk
Check if Sendmail logging is set to level 9. Procedure: # grep "O L" /etc/mail/sendmail.cf OR # grep LogLevel /etc/mail/sendmail.cf If logging is set to less than 9, this is a finding.
Fix: F-989r2_fix
Edit the sendmail.conf file, locate the "O L" or LogLevel entry and change it to 9.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN004460
- Vuln IDs
-
- V-836
- Rule IDs
-
- SV-41546r1_rule
Checks: C-40028r1_chk
Check the syslog configuration file for mail.crit logging configuration. Procedure: # more /etc/syslog.conf Verify a line similar to one of the following lines is present in syslog.conf is configured so that critical mail log data is logged. (Critical log data may also be captured by a remote log host in accordance with GEN005460.) mail.crit /var/adm/messages *.crit /var/log/messages Less severe syslog levels (err, warning, info, and debug) may be substituted for crit, since they will also capture crit level syslog messages. If syslog is not configured to log critical Sendmail messages, this is a finding.
Fix: F-990r2_fix
Edit the syslog.conf file and add a configuration line specifying an appropriate destination for mail.crit syslogs.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004480
- Vuln IDs
-
- V-837
- Rule IDs
-
- SV-837r2_rule
Checks: C-8034r2_chk
Locate any mail log files by checking the syslog configuration file. Procedure: # more /etc/syslog.conf Identify any log files configured for the mail service at any severity level, or those configured for all services. Check the ownership of these log files. Procedure: # ls -lL <file location> If any mail log file is not owned by root, this is a finding.
Fix: F-991r2_fix
Change the ownership of the Sendmail log file. # chown root <sendmail log file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004500
- Vuln IDs
-
- V-838
- Rule IDs
-
- SV-838r2_rule
Checks: C-8035r2_chk
Check the mode of the SMTP service log file. Procedure: # more /etc/syslog.conf Check the configuration to determine which log files contain logs for mail.crit, mail.debug, or *.crit. Procedure: # ls -lL <file location> If the log file permissions are greater than 0644, this is a finding.
Fix: F-992r2_fix
Change the mode of the SMTP service log file. Procedure: # chmod 0644 <sendmail log file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004880
- Vuln IDs
-
- V-840
- Rule IDs
-
- SV-28404r1_rule
Checks: C-28647r1_chk
Check for the existence of the ftpusers file. # ls -l /etc/ftpd/ftpusers If the ftpusers file does not exist, this is a finding.
Fix: F-25675r1_fix
Create a /etc/ftpd/ftpusers file containing a list of accounts not authorized for FTP.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004900
- Vuln IDs
-
- V-841
- Rule IDs
-
- SV-28407r1_rule
Checks: C-28661r1_chk
Check the contents of the ftpusers file. Procedure: # more /etc/ftpd/ftpusers If the system has accounts not allowed to use FTP that are not listed in the ftpusers file, this is a finding.
Fix: F-25692r1_fix
Add accounts not allowed to use FTP to the /etc/ftpd/ftpusers file.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004920
- Vuln IDs
-
- V-842
- Rule IDs
-
- SV-28410r1_rule
Checks: C-28665r1_chk
Check the ownership of the ftpusers file. # ls -l /etc/ftpd/ftpusers If the ftpusers file is not owned by root, this is a finding.
Fix: F-25695r1_fix
Change the owner of the ftpusers file to root. # chown root /etc/ftpd/ftpusers
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004940
- Vuln IDs
-
- V-843
- Rule IDs
-
- SV-28413r1_rule
Checks: C-28669r1_chk
Check the permissions of the ftpusers file. # ls -l /etc/ftpd/ftpusers If the ftpusers file has a mode more permissive than 0640, this is a finding.
Fix: F-25698r1_fix
Change the mode of the ftpusers file to 0640. # chmod 0640 /etc/ftpd/ftpusers
- RMF Control
- AU-3
- Severity
- L
- CCI
- CCI-000130
- Version
- GEN004980
- Vuln IDs
-
- V-845
- Rule IDs
-
- SV-40816r1_rule
Checks: C-39540r1_chk
Verify the FTP daemon is invoked with the -l option by SMF. # inetadm -l ftp | grep in.ftpd If the exec name-value pair does not include the -l option for in.ftpd, this is a finding.
Fix: F-34676r1_fix
Add the -l option to the exec name-value pair used by SMF to invoke the FTP daemon. # inetadm -m ftp exec="/usr/sbin/in.ftpd [other options] -l" Refresh inetd. # svcadm refresh inetd
- RMF Control
- AC-22
- Severity
- M
- CCI
- CCI-001475
- Version
- GEN004820
- Vuln IDs
-
- V-846
- Rule IDs
-
- SV-846r2_rule
Checks: C-711r2_chk
Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of guest@mail.com). If the logon is successful, this is a finding. Procedure: # ftp localhost Name: anonymous 530 Guest login not allowed on this machine.
Fix: F-1000r2_fix
Configure the FTP service to not permit anonymous logins.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN005080
- Vuln IDs
-
- V-847
- Rule IDs
-
- SV-28419r3_rule
Checks: C-28684r3_chk
Determine if TFTPD is running in secure mode. # grep tftp /etc/inet/inetd.conf OR # svccfg -s tftp/udp6 listprop |grep in.tftpd |grep exec If any returned service line does not use the -s parameter to TFTPD, this is a finding. If TFTP is not installed this check is not applicable.
Fix: F-25710r3_fix
Edit /etc/inet/inetd.conf and add the -s parameter to TFTPD. # inetconv OR Update the SMF entry for the TFTP daemon. # svccfg -s tftp/udp6 setprop inetd_start/exec = "astring:\"/usr/sbin/in.tftpd -s <other TFTPD options>\""
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005100
- Vuln IDs
-
- V-848
- Rule IDs
-
- SV-40392r1_rule
Checks: C-39258r1_chk
Check the mode of the TFTP daemon. Procedure: # ls -lL /usr/sbin/in.tftpd If the mode of the file is more permissive than 0755, this is a finding.
Fix: F-34365r1_fix
Change the mode of the TFTP daemon. Procedure: # chmod 0755 /usr/sbin/in.tftpd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005120
- Vuln IDs
-
- V-849
- Rule IDs
-
- SV-39825r1_rule
Checks: C-38704r2_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-1003r2_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.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000297
- Version
- GEN005160
- Vuln IDs
-
- V-850
- Rule IDs
-
- SV-850r2_rule
Checks: C-718r2_chk
Check for .Xauthority files being utilized by looking for such files in the home directory of a user that uses X. Procedure: # cd ~someuser # ls -la .Xauthority If the .Xauthority file does not exist, ask the SA if the user is using X Windows. If the user is utilizing X Windows and the .Xauthority file does not exist, this is a finding.
Fix: F-1004r2_fix
Ensure the X Windows host is configured to write .Xauthority files into user home directories. Edit the Xaccess file. Ensure the line that writes the .Xauthority file is uncommented.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001435
- Version
- GEN006400
- Vuln IDs
-
- V-867
- Rule IDs
-
- SV-867r2_rule
Checks: C-851r2_chk
Perform the following to determine if NIS is active on the system. # ps -ef | egrep '(ypbind|ypserv)' If NIS is found active on the system, this is a finding.
Fix: F-1021r2_fix
Disable the use of NIS. Possible replacements are NIS+ and LDAP.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001440
- Vuln IDs
-
- V-899
- Rule IDs
-
- SV-27184r1_rule
Checks: C-28157r1_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-1053r3_fix
Assign a home directory to any user without one.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001460
- Vuln IDs
-
- V-900
- Rule IDs
-
- SV-27192r1_rule
Checks: C-28168r1_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-33976r1_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
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001480
- Vuln IDs
-
- V-901
- Rule IDs
-
- SV-901r2_rule
Checks: C-8017r3_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-1055r2_fix
Change the mode of users' home directories to 0750 or less permissive. Procedure (example): # chmod 0750 <home directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001500
- Vuln IDs
-
- V-902
- Rule IDs
-
- SV-39822r1_rule
Checks: C-38697r3_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-1056r2_fix
Change the owner of a user's home directory to its assigned user. Procedure: # chown <user> <home directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001520
- Vuln IDs
-
- V-903
- Rule IDs
-
- SV-39823r1_rule
Checks: C-38698r3_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-1057r3_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001860
- Vuln IDs
-
- V-904
- Rule IDs
-
- SV-904r3_rule
Checks: C-395r4_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-1058r3_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001880
- Vuln IDs
-
- V-905
- Rule IDs
-
- SV-905r2_rule
Checks: C-8020r2_chk
Check the modes of local initialization files. Procedure: # ls -al /<usershomedirectory>/.login # ls -al /<usershomedirectory>/.cshrc # ls -al /<usershomedirectory>/.logout # ls -al /<usershomedirectory>/.profile # ls -al /<usershomedirectory>/.bash_profile # ls -al /<usershomedirectory>/.bashrc # ls -al /<usershomedirectory>/.bash_logout # ls -al /<usershomedirectory>/.env # ls -al /<usershomedirectory>/.dtprofile (permissions should be 0755) # ls -al /<usershomedirectory>/.dispatch # ls -al /<usershomedirectory>/.emacs # ls -al /<usershomedirectory>/.exrc # find /<usershomedirectory>/.dt ! -fstype nfs \( -perm -0002 -o -perm -0020 \) -exec ls -ld {} \; (permissions not to be more permissive than 0755) If local initialization files are more permissive than 0740, the .dt directory or the .dtprofile file is more permissive than 0755, this is a finding.
Fix: F-1059r3_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001580
- Vuln IDs
-
- V-906
- Rule IDs
-
- SV-27199r2_rule
Checks: C-28179r3_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-39582r1_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>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001600
- Vuln IDs
-
- V-907
- Rule IDs
-
- SV-39837r3_rule
Checks: C-38716r3_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. 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 other than "$PATH", it is a relative path, and this is a finding.
Fix: F-1061r2_fix
Edit the run control script and remove the relative path entry from the executable search path variable.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN001640
- Vuln IDs
-
- V-910
- Rule IDs
-
- SV-39810r1_rule
Checks: C-402r9_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 >> 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-1064r2_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>
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000196
- Version
- GEN002000
- Vuln IDs
-
- V-913
- Rule IDs
-
- SV-913r2_rule
Checks: C-404r2_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-1067r3_fix
Remove the .netrc file(s). Procedure: # rm .netrc
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001540
- Vuln IDs
-
- V-914
- Rule IDs
-
- SV-39836r1_rule
Checks: C-38714r2_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 /<usershomedirectory> ! -fstype nfs ! -user <username> -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-33982r1_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> {} \;
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001560
- Vuln IDs
-
- V-915
- Rule IDs
-
- SV-39840r1_rule
Checks: C-38721r1_chk
For each user in the /etc/passwd file, check for files and directories with a mode more permissive than 0750. Procedure: # find /<usershomedirectory> ! -fstype nfs \( -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-1069r2_fix
Change the mode of files and directories within user's home directories to 0750. Procedure: # chmod 0750 filename Document all changes.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002120
- Vuln IDs
-
- V-916
- Rule IDs
-
- SV-40806r1_rule
Checks: C-432r2_chk
Verify /etc/shells exists. # ls -l /etc/shells If the file does not exist, this is a finding.
Fix: F-34658r1_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
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002140
- Vuln IDs
-
- V-917
- Rule IDs
-
- SV-917r2_rule
Checks: C-433r2_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-1071r2_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.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000017
- Version
- GEN000760
- Vuln IDs
-
- V-918
- Rule IDs
-
- SV-39824r1_rule
Checks: C-38703r1_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 < user account > 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-33980r1_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 >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002200
- Vuln IDs
-
- V-921
- Rule IDs
-
- SV-921r2_rule
Checks: C-8024r2_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-1075r2_fix
Change the ownership of the shell with incorrect ownership. # chown root <shell>
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN002220
- Vuln IDs
-
- V-922
- Rule IDs
-
- SV-922r2_rule
Checks: C-8025r2_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-1076r3_fix
Change the mode of the shell. # chmod 0755 <shell>
- RMF Control
- CM-3
- Severity
- L
- CCI
- CCI-000318
- Version
- GEN002260
- Vuln IDs
-
- V-923
- Rule IDs
-
- SV-923r2_rule
Checks: C-464r2_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-1077r2_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
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002280
- Vuln IDs
-
- V-924
- Rule IDs
-
- SV-924r2_rule
Checks: C-465r2_chk
Find all device files existing anywhere on the system. Procedure: # find / -type b -print > devicelist # find / -type c -print >> devicelist Check the permissions on the directories above subdirectories containing device files. If any of the device files or their parent directories is world-writable, excepting device files specifically intended to be world-writable, such as /dev/null, this is a finding.
Fix: F-1078r3_fix
Remove the world-writable permission from the device file(s). Procedure: # chmod o-w <device file> Document all changes.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002300
- Vuln IDs
-
- V-925
- Rule IDs
-
- SV-925r2_rule
Checks: C-466r2_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-1079r2_fix
Use the chmod command to remove the world-writable bit from the backup device files. Procedure: # chmod o-w backdevicefilename Document all changes.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001435
- Version
- GEN006460
- Vuln IDs
-
- V-926
- Rule IDs
-
- SV-28453r1_rule
Checks: C-852r2_chk
If the system is not using NIS+, this is not applicable. Check the system to determine if NIS+ security level 2 is implemented. Procedure: # niscat cred.org_dir If the second column does not contain DES, the system is not using NIS+ security level 2, and this is a finding.
Fix: F-1080r2_fix
Ensure the NIS+ server is operating at security level 2 by editing /usr/lib/nis/nisserver and ensuring the line containing SEC= is set to the numeral 2, for example: SEC=2 # 2=DES or 3=RSA Security Level 0 is designed for testing and initial setup of the NIS+ namespace. When running at level 0, the daemon does not enforce access control. Any client is allowed to perform any operation, including updates and deletions. Security level 1 accepts AUTH_SYS and AUTH_DES credentials for authenticating clients and authorizing them to perform NIS+ operations. This is not a secure mode of operation since AUTH_SYS credentials are easily forged. It should not be used on networks in which any untrusted user may potentially have access. Security level 2 accepts only AUTH_DES credentials for authentication and authorization. This is the highest level of security currently provided by the NIS+ service and the default security level if the -S option is not used.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005740
- Vuln IDs
-
- V-928
- Rule IDs
-
- SV-28444r1_rule
Checks: C-28737r1_chk
Check the ownership of the dfstab file. Example: # ls -lL /etc/dfs/dfstab If the export configuration file is not owned by root, this is a finding.
Fix: F-25755r1_fix
Change the owner of the dfstab file to root. Example: # chown root /etc/dfs/dfstab
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN005760
- Vuln IDs
-
- V-929
- Rule IDs
-
- SV-28446r1_rule
Checks: C-28741r1_chk
# ls -lL /etc/dfs/dfstab If the file has a mode more permissive than 0644, this is a finding.
Fix: F-25759r1_fix
Change the permissions of the dfstab file to 664 or less permissive. # chmod 0644 /etc/dfs/dfstab
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005800
- Vuln IDs
-
- V-931
- Rule IDs
-
- SV-40303r1_rule
Checks: C-39153r1_chk
Check for NFS exported file systems. Procedure: # exportfs -v OR # more /etc/dfs/sharetab This will display all of the exported file systems. For each file system displayed, check the ownership. Procedure: # ls -lLa <exported file system path> If the files and directories are not owned by root, this is a finding.
Fix: F-1085r2_fix
Change the ownership of exported file systems not owned by root. Procedure: # chown root <path>
- RMF Control
- AC-14
- Severity
- M
- CCI
- CCI-000062
- Version
- GEN005820
- Vuln IDs
-
- V-932
- Rule IDs
-
- SV-40304r1_rule
Checks: C-39154r1_chk
Check if the anon option is set correctly for exported file systems. List exported file systems. # exportfs -v OR # more /etc/dfs/sharetab Each of the exported file systems should include an entry for the 'anon=' option set to -1 or an equivalent (60001, 60002, 65534, or 65535). If an appropriate 'anon=' setting is not present for an exported file system, this is a finding.
Fix: F-25768r1_fix
Edit /etc/dfs/dfstab and add the "anon=-1" option for exports lacking it. Re-export the filesystems.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005840
- Vuln IDs
-
- V-933
- Rule IDs
-
- SV-40305r1_rule
Checks: C-39155r1_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-25770r1_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.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005860
- Vuln IDs
-
- V-934
- Rule IDs
-
- SV-40306r1_rule
Checks: C-39156r2_chk
Perform the following on NFS servers: # grep "^default" /etc/nfssec.conf Check to ensure the second column does not equal 0. This would indicate the default is set to none. Perform the following to check currently exported file systems. # more /etc/dfs/dfstab If the option sec=none is set on any of the exported file systems, this is a finding.
Fix: F-1088r2_fix
Edit the /etc/dfs/dfstab file and add the sec=XXX option to the share line as an option. XXX must be a valid option for the system other than none.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005880
- Vuln IDs
-
- V-935
- Rule IDs
-
- SV-40307r1_rule
Checks: C-39157r1_chk
Determine if the NFS server is exporting with the root access option. Procedure: # exportfs -v | grep "root=" OR # more /etc/dfs/sharetab If an export with the root option is found, this is a finding.
Fix: F-25776r1_fix
Edit the /etc/dfs/dfstab file and remove the root= option from all exports. Re-export the file systems.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005900
- Vuln IDs
-
- V-936
- Rule IDs
-
- SV-28452r1_rule
Checks: C-39152r2_chk
Check the system for NFS mounts not using the nosuid option. Procedure: # mount -v | grep " type nfs " | grep -v nosetuid OR # grep nfs /etc/mnttab | grep -v nosuid | grep -v :vold If the mounted file systems do not have the nosetuid/nosuid option, this is a finding. NOTE: Mount options for the volume management daemon (vold) are controlled by the /etc/rmmount.conf file.
Fix: F-25777r1_fix
Edit /etc/vfstab and add the nosuid option for all NFS file systems. Remount the NFS file systems to make the change take effect.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006580
- Vuln IDs
-
- V-940
- Rule IDs
-
- SV-28459r2_rule
Checks: C-28783r3_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-25785r1_fix
Enable tcp_wrappers. # svccfg -s svc:/network/inetd setprop defaults/tcp_wrappers=true # svcadm refresh inetd
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN006600
- Vuln IDs
-
- V-941
- Rule IDs
-
- SV-941r2_rule
Checks: C-888r2_chk
Normally, TCPD logs to the mail facility in /etc/syslog.conf. Determine if syslog is configured to log events by TCPD. Procedure: # more /etc/syslog.conf Look for entries similar to the following: mail.debug /var/adm/maillog mail.none /var/adm/maillog mail.* /var/log/mail auth.info /var/log/messages The above entries would indicate mail alerts are being logged. If no entries for mail exist, then TCPD is not logging and this is a finding.
Fix: F-1095r2_fix
Configure the access restriction program to log every access attempt. Ensure the implementation instructions for TCP_WRAPPERS are followed, so system access attempts are logged into the system log files. If an alternate application is used, it must support this function.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-SOL00180
- Vuln IDs
-
- V-953
- Rule IDs
-
- SV-953r2_rule
Checks: C-2249r2_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-1107r2_fix
Restore the ASET configuration to vendor default and only modify the portions of the configuration designated as customizable.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-SOL00200
- Vuln IDs
-
- V-954
- Rule IDs
-
- SV-36750r1_rule
Checks: C-2250r2_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-31075r1_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.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-SOL00220
- Vuln IDs
-
- V-955
- Rule IDs
-
- SV-955r2_rule
Checks: C-28803r1_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-1109r2_fix
Create the /usr/aset/userlist file and populate it with a list of authorized users.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00240
- Vuln IDs
-
- V-956
- Rule IDs
-
- SV-956r2_rule
Checks: C-28804r1_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-1110r2_fix
Use the chmod command to change the owner of the /usr/aset/userlist file. # chown root /usr/aset/userlist
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00260
- Vuln IDs
-
- V-957
- Rule IDs
-
- SV-957r2_rule
Checks: C-2252r2_chk
# ls -lL /usr/aset/userlist If /usr/aset/userlist has a mode more permissive than 0600, this is a finding.
Fix: F-1111r2_fix
Change the mode of the /usr/aset/userlist file to 0600. # chmod 0600 /usr/aset/userlist
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002960
- Vuln IDs
-
- V-974
- Rule IDs
-
- SV-27317r1_rule
Checks: C-28454r1_chk
Check for the existence of the cron.allow and cron.deny files. # ls -lL /etc/cron.d/cron.allow # ls -lL /etc/cron.d/cron.deny If neither file exists, this is a finding.
Fix: F-24557r1_fix
Create /etc/cron.d/cron.allow and/or /etc/cron.d/cron.deny with appropriate content.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002980
- Vuln IDs
-
- V-975
- Rule IDs
-
- SV-27323r1_rule
Checks: C-28459r1_chk
Check mode of the cron.allow file. Procedure: # ls -lL /etc/cron.d/cron.allow If either file has a mode more permissive than 0600, this is a finding.
Fix: F-24563r1_fix
Change the mode of the cron.allow file to 0600. Procedure: # chmod 0600 /etc/cron.d/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003000
- Vuln IDs
-
- V-976
- Rule IDs
-
- SV-27329r1_rule
Checks: C-28464r1_chk
List all cronjobs on the system. Procedure: # ls /var/spool/cron/crontabs/ If cron jobs exist under any of the above directories search for programs executed by cron. Procedure: # more <cron job file> Determine if the file is group-writable or world-writable. Procedure: # ls -la <cron program file> If cron executes group-writable or world-writable files, this is a finding.
Fix: F-1130r2_fix
Remove the world-writable and group-writable permissions from the cron program file(s) identified. # chmod go-w <cron program file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003020
- Vuln IDs
-
- V-977
- Rule IDs
-
- SV-27331r1_rule
Checks: C-28466r1_chk
List all cronjobs on the system. Procedure: # ls /var/spool/cron/crontabs/ If cron jobs exist under any of the above directories search for programs executed by cron. Procedure: # more <cron job file> Determine if the directory containing programs executed from cron is world-writable. Procedure: # ls -ld <cron program directory> If cron executes programs in world-writable directories, this is a finding.
Fix: F-1131r2_fix
Remove the world-writable permission from the cron program directories identified. Procedure: # chmod o-w <cron program directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003080
- Vuln IDs
-
- V-978
- Rule IDs
-
- SV-27340r1_rule
Checks: C-28476r1_chk
Check the mode of the crontab files. # ls -lL /var/spool/cron/crontabs/ If any crontab file has a mode more permissive than 0600, this is a finding.
Fix: F-24579r1_fix
Change the mode of the crontab files. # chmod 0600 /var/spool/cron/crontabs/*
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003100
- Vuln IDs
-
- V-979
- Rule IDs
-
- SV-27342r1_rule
Checks: C-28478r1_chk
Check the mode of the crontab directory. # ls -ld /var/spool/cron/crontabs If the mode of the crontab directory is more permissive than 0755, this is a finding.
Fix: F-24581r1_fix
Change the mode of the crontab directory. # chmod 0755 /var/spool/cron/crontabs
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003120
- Vuln IDs
-
- V-980
- Rule IDs
-
- SV-27345r1_rule
Checks: C-28480r1_chk
Check the owner of the crontab directory. # ls -ld /var/spool/cron/crontabs If the owner of the crontab directory is not root or bin, this is a finding.
Fix: F-24583r1_fix
Change the owner of the crontab directory. # chown root /var/spool/cron/crontabs
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003140
- Vuln IDs
-
- V-981
- Rule IDs
-
- SV-27347r1_rule
Checks: C-28487r1_chk
Check the group owner of the crontab directories. Procedure: # ls -ld /var/spool/cron/crontabs If the directory is not group-owned by root, sys, or bin, this is a finding.
Fix: F-24590r1_fix
Change the group owner of the crontab directories to root, sys, or bin. Procedure: # chgrp root /var/spool/cron/crontabs
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN003160
- Vuln IDs
-
- V-982
- Rule IDs
-
- SV-27349r1_rule
Checks: C-28489r1_chk
# ls -lL /var/cron/log If this file does not exist, or is older than the last cron job, this is a finding. # more /etc/default/cron If a CRONLOG=YES line does not exist, this is a finding.
Fix: F-24594r1_fix
Edit /etc/default/cron and set CRONLOG=YES.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003180
- Vuln IDs
-
- V-983
- Rule IDs
-
- SV-27354r1_rule
Checks: C-28497r1_chk
Check the mode of the cron log file. # ls -lL /var/cron/log If the mode is more permissive than 0600, this is a finding.
Fix: F-24598r1_fix
Change the mode of the cron log file. # chmod 0600 /var/cron/log
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003280
- Vuln IDs
-
- V-984
- Rule IDs
-
- SV-27376r1_rule
Checks: C-28530r1_chk
Check for the existence of at.allow and at.deny files. # ls -lL /etc/cron.d/at.allow # ls -lL /etc/cron.d/at.deny If neither file exists, this is a finding.
Fix: F-11346r2_fix
Create at.allow and/or at.deny files containing appropriate lists of users to be allowed or denied access to the "at" daemon.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003300
- Vuln IDs
-
- V-985
- Rule IDs
-
- SV-27380r1_rule
Checks: C-28534r1_chk
# more /etc/cron.d/at.deny If the at.deny file exists and is empty, this is a finding.
Fix: F-1139r2_fix
Add appropriate users to the at.deny file, or remove the empty at.deny file if an at.allow file exists.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003320
- Vuln IDs
-
- V-986
- Rule IDs
-
- SV-27384r1_rule
Checks: C-28540r1_chk
# more /etc/cron.d/at.allow If default accounts (such as bin, sys, adm, and others) are listed in the at.allow file, this is a finding.
Fix: F-1140r2_fix
Remove the default accounts (such as bin, sys, adm, and others) from the at.allow file.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003340
- Vuln IDs
-
- V-987
- Rule IDs
-
- SV-27388r1_rule
Checks: C-28547r1_chk
Check the mode of the at.allow file. # ls -lL /etc/cron.d/at.allow If the at.allow file has a mode more permissive than 0600, this is a finding.
Fix: F-24632r1_fix
Change the mode of the at.allow file. # chmod 0600 /etc/cron.d/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003360
- Vuln IDs
-
- V-988
- Rule IDs
-
- SV-40411r1_rule
Checks: C-39267r1_chk
List the "at" jobs on the system. Procedure: # ls -la /var/spool/cron/atjobs For each "at" job file, determine which programs are executed. Procedure: # more <at job file> Check each program executed by "at" for group- or world-writable permissions. Procedure: # ls -la <at program file> If "at" executes group- or world-writable programs, this is a finding.
Fix: F-1142r2_fix
Remove group-write and world-write permissions from files executed by "at" jobs. Procedure: # chmod go-w <file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003380
- Vuln IDs
-
- V-989
- Rule IDs
-
- SV-40412r1_rule
Checks: C-39268r1_chk
List any "at" jobs on the system. Procedure: # ls /var/spool/cron/atjobs For each "at" job, determine which programs are executed. Procedure: # more <at job file> Check the directory containing each program executed by "at" for world-writable permissions. Procedure: # ls -la <at program file directory> If "at" executes programs in world-writable directories, this is a finding.
Fix: F-1143r2_fix
Remove the world-writable permission from directories containing programs executed by "at". Procedure: # chmod o-w <at program directory>
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000178
- Version
- GEN005300
- Vuln IDs
-
- V-993
- Rule IDs
-
- SV-40281r1_rule
Checks: C-39127r1_chk
Check the SNMP configuration for default passwords. Locate and examine the SNMP configuration. Procedure: # more /etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf Identify any community names or user password configuration. If any community name or password is set to a default value, such as public, private, snmp-trap, password, or any value which does not meet DISA password requirements, this is a finding.
Fix: F-1147r2_fix
Change the default passwords. To change them, locate the snmpd.conf file and edit it. Locate the line system-group-read-community which has a default password of public and make the password something more random (less guessable). Make the same changes for the lines that read system-group-write-community, read-community, write-community, trap, and trap-community. Read the information in the file carefully. The trap is defining who to send traps to, for instance, by default. It is not a password, but the name of a host.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005320
- Vuln IDs
-
- V-994
- Rule IDs
-
- SV-40262r1_rule
Checks: C-39118r1_chk
Check the mode of the SNMP daemon configuration files. Procedure: # ls -lL /etc/sma/snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /var/sma_snmp/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf If any of the snmpd.conf files have a mode more permissive than 0600, this is a finding.
Fix: F-1148r2_fix
Change the mode of the SNMP daemon configuration file to 0600. Procedure: # chmod 0600 <snmpd.conf>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005340
- Vuln IDs
-
- V-995
- Rule IDs
-
- SV-40817r1_rule
Checks: C-39541r1_chk
Check the modes for all Management Information Base (MIB) files on the system. # find /etc/sma/snmp/ /etc/snmp/conf/ /var/sma_snmp/ /usr/sfw/lib/sma_snmp/ -type f | grep -i mib | egrep -v '\.conf$' | xargs ls -lL If any file is returned that does not have mode 0640 or less permissive, this is a finding.
Fix: F-1149r2_fix
Change the mode of MIB files to 0640. Procedure: # chmod 0640 <mib file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002480
- Vuln IDs
-
- V-1010
- Rule IDs
-
- SV-1010r3_rule
Checks: C-467r3_chk
Check the system for world-writable files and directories. Procedure: # find / -perm -2 -a \( -type d -o -type f \) -exec ls -ld {} \; If any world-writable files or directories are located, except those required for proper system or application operation, such as /tmp and /dev/null, this is a finding.
Fix: F-1164r2_fix
Remove or change the mode for any world-writable file or directory on the system that is not required to be world-writable. Procedure: # chmod o-w <file/directory> Document all changes.
- RMF Control
- AU-3
- Severity
- L
- CCI
- CCI-000134
- Version
- GEN003800
- Vuln IDs
-
- V-1011
- Rule IDs
-
- SV-27430r1_rule
Checks: C-28616r2_chk
Verify the default value of the inet service property tcp_trace. # inetadm -p |grep tcp_trace If the tcp_trace inet service property is not set or is set to FALSE, this is a finding. Verify that all enabled inetd-managed processes have the tcp_trace inet service property set to the default value or TRUE. # inetadm | grep enabled | awk '{print $NF}' | xargs inetadm -l | more If any enabled inetd-managed processes have the tcp_trace inet service property set to FALSE, this is a finding.
Fix: F-24701r3_fix
Enable logging or tracing for inetd. Procedure: # inetadm -M tcp_trace=TRUE Set the tcp_trace inet service property to the default for all enabled inetd-managed services. # inetadm | grep enabled | awk '{print $NF}' | xargs -I X inetadm -m X tcp_trace= (Note: The trailing '=' instructs inetd to use the default value for tcp_trace.)
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN008600
- Vuln IDs
-
- V-1013
- Rule IDs
-
- SV-1013r2_rule
Checks: C-1879r3_chk
Determine if the system is configured to boot from devices other than the system startup media. If so, this is a finding. In most cases, this will require access to the BIOS or system controller. The exact procedure will be hardware-dependent, and the SA should be consulted to identify the specific configuration. In the event the BIOS or system controller is not accessible without adversely impacting (e.g., restarting) the system, the SA may be interviewed to determine compliance with the requirement.
Fix: F-1167r2_fix
Configure the system to only boot from system startup media.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- GEN006240
- Vuln IDs
-
- V-1023
- Rule IDs
-
- SV-1023r2_rule
Checks: C-2043r2_chk
# ps -ef | egrep "innd|nntpd" If an INN server is running, this is a finding.
Fix: F-1177r2_fix
Disable the INN server.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN006080
- Vuln IDs
-
- V-1026
- Rule IDs
-
- SV-42313r1_rule
Checks: C-40643r1_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-35945r1_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
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006100
- Vuln IDs
-
- V-1027
- Rule IDs
-
- SV-40291r2_rule
Checks: C-39145r2_chk
Check the ownership of the smb.conf file. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations. Procedure: # ls -l /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If a smb.conf file is not owned by root, this is a finding.
Fix: F-34289r2_fix
Change the ownership of the smb.conf file. Procedure: # chown root /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006140
- Vuln IDs
-
- V-1028
- Rule IDs
-
- SV-40294r2_rule
Checks: C-39146r2_chk
Check the mode of the smb.conf file. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations. Procedure: # ls -lL /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If the smb.conf has a mode more permissive than 0644, this is a finding.
Fix: F-34291r2_fix
Change the mode of the smb.conf file to 0644 or less permissive. Procedure: # chmod 0644 /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006160
- Vuln IDs
-
- V-1029
- Rule IDs
-
- SV-40284r1_rule
Checks: C-39130r1_chk
Check the ownership of the smbpasswd file. # ls -lL /etc/sfw/private/smbpasswd If the smbpasswd file is not owned by root, this is a finding.
Fix: F-34280r1_fix
Use the chown command to configure the smb passwd file. # chown root /etc/sfw/private/smbpasswd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006220
- Vuln IDs
-
- V-1030
- Rule IDs
-
- SV-40298r2_rule
Checks: C-39151r3_chk
Examine the smb.conf file. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations. Procedure: # more /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If the hosts option is not present to restrict access to a list of authorized hosts and networks, this is a finding.
Fix: F-1184r4_fix
Edit the smb.conf file and set the hosts option to permit only authorized hosts to access Samba.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000198
- Version
- GEN000540
- Vuln IDs
-
- V-1032
- Rule IDs
-
- SV-39809r1_rule
Checks: C-38680r1_chk
Check the minimum time period between password changes for each user account is 1 day or greater. # awk -F: '$4 < 1 {print $1}' /etc/shadow If any results are returned that are not associated with a system account, this is a finding.
Fix: F-33968r1_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>
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000197
- Version
- GEN001100
- Vuln IDs
-
- V-1046
- Rule IDs
-
- SV-1046r2_rule
Checks: C-891r2_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-1200r2_fix
Enable SSH on the system and use it for all remote connections used to attain root access.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN001120
- Vuln IDs
-
- V-1047
- Rule IDs
-
- SV-39811r1_rule
Checks: C-38681r1_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-24426r1_fix
Edit the configuration file and set the PermitRootLogin option to no.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002320
- Vuln IDs
-
- V-1048
- Rule IDs
-
- SV-27241r1_rule
Checks: C-28265r1_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-34401r1_fix
Change the mode of the audio device. # chmod -R 0660 /dev/audio
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002340
- Vuln IDs
-
- V-1049
- Rule IDs
-
- SV-27246r1_rule
Checks: C-28271r1_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-1203r2_fix
Change the owner of the audio device. # chown root <audio device>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006120
- Vuln IDs
-
- V-1056
- Rule IDs
-
- SV-39890r3_rule
Checks: C-38910r4_chk
Check the group ownership of the smb.conf file. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations. Procedure: # ls -l /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If an smb.conf file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-34290r4_fix
Change the group owner of the smb.conf file. Procedure: # chgrp root /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006180
- Vuln IDs
-
- V-1058
- Rule IDs
-
- SV-40287r1_rule
Checks: C-39131r1_chk
Check smbpasswd ownership. # ls -lL /etc/sfw/private/smbpasswd If smbpasswd is not group-owned by root, this is a finding.
Fix: F-34282r1_fix
Use the chgrp command to ensure the group owner of the smbpasswd file is root. # chgrp root /etc/sfw/private/smbpasswd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006200
- Vuln IDs
-
- V-1059
- Rule IDs
-
- SV-40289r1_rule
Checks: C-39133r1_chk
Check smbpasswd mode. Procedure: # ls -lL /etc/sfw/private/smbpasswd If smbpasswd has a mode more permissive than 0600, this is a finding.
Fix: F-34284r1_fix
Change the mode of the smbpasswd file to 0600. Procedure: # chmod 0600 /etc/sfw/private/smbpasswd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002360
- Vuln IDs
-
- V-1061
- Rule IDs
-
- SV-27251r1_rule
Checks: C-28283r1_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-1215r2_fix
Change the group owner of the audio device. Procedure: # chgrp system <audio device>
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN001080
- Vuln IDs
-
- V-1062
- Rule IDs
-
- SV-27157r1_rule
Checks: C-28087r1_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-26000r1_fix
Change the root account's shell to one present on the / filesystem. Example: # usermod -s /sbin/sh root
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000057
- Version
- GEN000500
- Vuln IDs
-
- V-4083
- Rule IDs
-
- SV-39814r1_rule
Checks: C-38684r3_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-33971r1_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.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000200
- Version
- GEN000800
- Vuln IDs
-
- V-4084
- Rule IDs
-
- SV-27132r1_rule
Checks: C-28050r1_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-24399r1_fix
Edit /etc/default/passwd and set HISTORY to 5.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001940
- Vuln IDs
-
- V-4087
- Rule IDs
-
- SV-39812r1_rule
Checks: C-38682r1_chk
Check local initialization files for any executed world-writable programs or scripts. Procedure: # find / -perm -002 -type f | egrep -v '^(/proc|/system/contract)' > wwlist # fgrep -f wwlist /<usershomedirectory>/.* If any local initialization file executes a world-writable program or script, this is a finding.
Fix: F-4020r2_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001660
- Vuln IDs
-
- V-4089
- Rule IDs
-
- SV-27207r1_rule
Checks: C-28185r1_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-4022r2_fix
Change the ownership of the run control script(s) with incorrect ownership. # chown root <run control script>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001680
- Vuln IDs
-
- V-4090
- Rule IDs
-
- SV-27213r1_rule
Checks: C-28191r1_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-24459r1_fix
Change the group ownership of the run control script(s) with incorrect group ownership. Procedure: # chgrp root <run control script>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001700
- Vuln IDs
-
- V-4091
- Rule IDs
-
- SV-27219r1_rule
Checks: C-28197r2_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 <executed program> If any executed program is not owned by root, sys, bin, or in rare cases, an application account, this is a finding.
Fix: F-34270r1_fix
Change the ownership of the file executed from system startup scripts to root, bin, or sys. # chown root <executed file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00100
- Vuln IDs
-
- V-4245
- Rule IDs
-
- SV-4245r2_rule
Checks: C-8285r2_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-4156r2_fix
Change the mode of the audit_user file to 0640. # chmod 0640 /etc/security/audit_user
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- GEN008620
- Vuln IDs
-
- V-4246
- Rule IDs
-
- SV-4246r2_rule
Checks: C-2056r3_chk
On systems with a BIOS or system controller, verify a supervisor or administrator password is set. If a password is not set, this is a finding. If the BIOS or system controller supports user-level access in addition to supervisor/administrator access, determine if this access is enabled. If so, this is a finding. The exact procedure will be hardware-dependent, and the SA should be consulted to identify the specific configuration. In the event the BIOS or system controller is not accessible without adversely impacting (e.g., restarting) the system, the SA may be interviewed to determine compliance with the requirement.
Fix: F-4157r2_fix
Access the system's BIOS or system controller. Set a supervisor/administrator password if one has not been set. Disable a user-level password if one has been set.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN008640
- Vuln IDs
-
- V-4247
- Rule IDs
-
- SV-41534r1_rule
Checks: C-2057r2_chk
Ask the SA if the system uses removable media for the boot loader. If it does, this is a finding.
Fix: F-4158r2_fix
Configure the system to use a bootloader installed on fixed media.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN008660
- Vuln IDs
-
- V-4248
- Rule IDs
-
- SV-4248r3_rule
Checks: C-2058r3_chk
This check applies to the global zone only. Determine the type of zone that you are currently securing. # zonename If the command output is "global", this check applies. On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset. On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option: # bootadm list-menu Determine if the system uses the GRUB boot loader. Procedure: # more /pool-name/boot/grub/menu.lst or # more /boot/grub/menu.lst If menu.lst does not exist, this is a finding.
Fix: F-4159r2_fix
Configure the system to use the GRUB bootloader.
- RMF Control
- AC-3
- Severity
- H
- CCI
- CCI-000213
- Version
- GEN008700
- Vuln IDs
-
- V-4249
- Rule IDs
-
- SV-4249r3_rule
Checks: C-2059r3_chk
This check applies to the global zone only. Determine the type of zone that you are currently securing. # zonename If the command output is "global", this check applies. On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset. On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option: # bootadm list-menu Check the menu.lst file for the use of passwords. Procedure: # more /pool-name/boot/grub/menu.lst or # more /boot/grub/menu.lst Check for a password configuration line, such as the one below. password --md5 <password-hash> This line should be just below the line beginning with "timeout". Please note <password-hash> will be replaced by the actual MD5 encrypted password. If the password line is not in either of the files, this is a finding.
Fix: F-4160r3_fix
The GRUB console boot loader can be configured to use an MD5 encrypted password by adding password --md5 password-hash to the /pool-name/boot/grub/menu.lst or /boot/grub/menu.lst file. Use grub-md5-crypt to generate MD5 passwords from the command line.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008720
- Vuln IDs
-
- V-4250
- Rule IDs
-
- SV-4250r3_rule
Checks: C-2060r3_chk
This check applies to the global zone only. Determine the type of zone that you are currently securing. # zonename If the command output is "global", this check applies. Check the permission of the menu.lst file. On systems that have a ZFS root, the menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset. On systems that have a UFS root, the menu.lst file is typically located at /boot/grub/menu.lst . Procedure: # ls -lL /pool-name/boot/grub/menu.lst or # ls -lL /boot/grub/menu.lst If menu.lst has a mode more permissive than 0600, this is a finding.
Fix: F-25796r2_fix
Change the mode of the menu.lst file to 0600. # chmod 0600 /pool-name/boot/grub/menu.lst or # chmod 0600 /boot/grub/menu.lst
- RMF Control
- SC-32
- Severity
- H
- CCI
- CCI-001208
- Version
- GEN008680
- Vuln IDs
-
- V-4255
- Rule IDs
-
- SV-4255r2_rule
Checks: C-2079r2_chk
Ask the SA if the system boots from removable media. If so, ask if the boot media is stored in a secure container when not in use. If it is not, this is a finding.
Fix: F-4166r2_fix
Store the system boot media in a secure container when not in use.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000012
- Version
- GEN000290
- Vuln IDs
-
- V-4269
- Rule IDs
-
- SV-4269r2_rule
Checks: C-2090r2_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 any unnecessary accounts are found, this is a finding.
Fix: F-4180r2_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006260
- Vuln IDs
-
- V-4273
- Rule IDs
-
- SV-4273r2_rule
Checks: C-2092r2_chk
Check /etc/news/hosts.nntp permissions. # ls -lL /etc/news/hosts.nntp If /etc/news/hosts.nntp has a mode more permissive than 0600, this is a finding.
Fix: F-4184r2_fix
Change the mode of the /etc/news/hosts.nntp file to 0600. # chmod 0600 /etc/news/hosts.nntp
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006280
- Vuln IDs
-
- V-4274
- Rule IDs
-
- SV-4274r2_rule
Checks: C-2093r2_chk
Check /etc/news/hosts.nntp.nolimit permissions. # ls -lL /etc/news/hosts.nntp.nolimit If /etc/news/hosts.nntp.nolimit has a mode more permissive than 0600, this is a finding.
Fix: F-4185r2_fix
Change the mode of /etc/news/hosts.nntp.nolimit to 0600. # chmod 0600 /etc/news/hosts.nntp.nolimit
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006300
- Vuln IDs
-
- V-4275
- Rule IDs
-
- SV-4275r2_rule
Checks: C-2094r2_chk
Check /etc/news/nnrp.access permissions. # ls -lL /etc/news/nnrp.access If /etc/news/nnrp.access has a mode more permissive than 0600, this is a finding.
Fix: F-4186r2_fix
Change the mode of the /etc/news/nnrp.access file to 0600. # chmod 0600 /etc/news/nnrp.access
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006320
- Vuln IDs
-
- V-4276
- Rule IDs
-
- SV-4276r2_rule
Checks: C-2095r2_chk
Check /etc/news/passwd.nntp permissions. # ls -lL /etc/news/passwd.nntp If /etc/news/passwd.nntp has a mode more permissive than 0600, this is a finding.
Fix: F-4187r2_fix
Change the mode of the /etc/news/passwd.nntp file. # chmod 0600 /etc/news/passwd.nntp
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006340
- Vuln IDs
-
- V-4277
- Rule IDs
-
- SV-40487r1_rule
Checks: C-39298r1_chk
Check the ownership of the files in /etc/news. Procedure: # ls -al /etc/news If the /etc/news directory or any files in it are not owned by root, this is a finding.
Fix: F-34405r1_fix
Change the ownership of the /etc/news directory and the files in it to root. Procedure: # chown -R root /etc/news
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006360
- Vuln IDs
-
- V-4278
- Rule IDs
-
- SV-40489r1_rule
Checks: C-39299r1_chk
Check /etc/news directory and files group ownership. Procedure: # ls -al /etc/news If the /etc/news directory and the files in it are not group-owned by root, this is a finding.
Fix: F-34406r1_fix
Change the group owner of the /etc/news directory and the files in it to root. Procedure: # chgrp -R root /etc/news
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001436
- Version
- GEN005500
- Vuln IDs
-
- V-4295
- Rule IDs
-
- SV-39817r1_rule
Checks: C-38688r1_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-34272r1_fix
Edit the configuration file and modify the Protocol line to look like: Protocol 2 Reload sshd: kill -HUP <PID of sshd>
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000070
- Version
- GEN001000
- Vuln IDs
-
- V-4298
- Rule IDs
-
- SV-27147r1_rule
Checks: C-28072r1_chk
Verify no auxiliary consoles are defined. # consadm -p If any output is generated, this is a finding.
Fix: F-24421r1_fix
Remove each auxiliary console. # consadm -d <console device>
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN000000-SOL00400
- Vuln IDs
-
- V-4300
- Rule IDs
-
- SV-40041r1_rule
Checks: C-39054r1_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-34153r1_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.
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-001492
- Version
- GEN000240
- Vuln IDs
-
- V-4301
- Rule IDs
-
- SV-40040r2_rule
Checks: C-39053r3_chk
Check the system for a running NTP daemon. # svcs ntp | grep online If NTP is not running, 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-4212r4_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.
- RMF Control
- CP-10
- Severity
- M
- CCI
- CCI-000553
- Version
- GEN003640
- Vuln IDs
-
- V-4304
- Rule IDs
-
- SV-40021r1_rule
Checks: C-39033r1_chk
Logging should be enabled for those types of files systems that do not turn on logging by default. Procedure: # mount -v UFS, JFS, VXFS, HFS, XFS, reiserfs, EXT3 and EXT4 all turn logging on by default and will not be a finding. The ZFS file system uses other mechanisms to provide for file system consistency, and will not be a finding. For other file systems types, if the root file system does not have the 'logging' option, this is a finding. If the 'nolog' option is set on the root file system, this is a finding.
Fix: F-4215r2_fix
Implement file system journaling for the root file system, or use a file system using other mechanisms to ensure consistency. If the root file system supports journaling, enable it. If the file system does not support journaling or another mechanism to ensure consistency, a migration to a different file system will be necessary.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-SOL00160
- Vuln IDs
-
- V-4309
- Rule IDs
-
- SV-4309r2_rule
Checks: C-8289r2_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-4220r2_fix
If the system is used as a firewall and ASET is used, ensure the firewall parameter is configured in /usr/aset/asetenv.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-SOL00140
- Vuln IDs
-
- V-4312
- Rule IDs
-
- SV-4312r2_rule
Checks: C-8288r2_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-4223r2_fix
Empty or comment out the entries in the uid_aliases file.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-SOL00120
- Vuln IDs
-
- V-4313
- Rule IDs
-
- SV-36751r1_rule
Checks: C-35834r1_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-4224r2_fix
Install the default ASET configuration files.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN006060
- Vuln IDs
-
- V-4321
- Rule IDs
-
- SV-4321r2_rule
Checks: C-2132r2_chk
Check the system for a running Samba server. Procedure: # ps -ef |grep smbd If the Samba server is running, ask the SA if the Samba server is operationally required. If it is not, this is a finding.
Fix: F-4232r2_fix
If there is no functional need for Samba and the daemon is running, disable the daemon by killing the process ID as noted from the output of ps -ef |grep smbd. The utility should also be removed or not installed if there is no functional requirement.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00080
- Vuln IDs
-
- V-4351
- Rule IDs
-
- SV-4351r2_rule
Checks: C-8283r2_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-4262r2_fix
Change the group owner of the audit_user file to root, bin, or sys. Example: # chgrp root /etc/security/audit_user
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00060
- Vuln IDs
-
- V-4352
- Rule IDs
-
- SV-4352r2_rule
Checks: C-8282r2_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-4263r2_fix
Change the owner of the /etc/security/audit_user file to root. # chown root /etc/security/audit_user
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN000000-SOL00040
- Vuln IDs
-
- V-4353
- Rule IDs
-
- SV-4353r2_rule
Checks: C-8281r2_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-4264r2_fix
Edit the audit_user file and remove specific user configurations differing from the global audit settings.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002860
- Vuln IDs
-
- V-4357
- Rule IDs
-
- SV-4357r2_rule
Checks: C-8278r2_chk
Check for any crontab entries that rotate audit logs. Procedure: # crontab -l If such a cron job is found, this is not a finding. Otherwise, query the SA. If there is a process automatically rotating audit logs, this is not a finding. If the SA manually rotates audit logs, this is still a finding, because if the SA is not there, it will not be accomplished. If the audit output is not archived daily, to tape or disk, this is a finding. This can be ascertained by looking at the audit log directory and, if more than one file is there, or if the file does not have today's date, this is a finding.
Fix: F-4268r2_fix
Configure a cron job or other automated process to rotate the audit logs on a daily basis.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003200
- Vuln IDs
-
- V-4358
- Rule IDs
-
- SV-27359r1_rule
Checks: C-28503r1_chk
Check the mode of the cron.deny file. # ls -lL /etc/cron.d/cron.deny If the cron.deny file is more permissive than 0600, this is a finding.
Fix: F-24605r1_fix
Change the mode of the cron.deny file. # chmod 0600 /etc/cron.d/cron.deny
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003220
- Vuln IDs
-
- V-4360
- Rule IDs
-
- SV-27364r1_rule
Checks: C-28508r1_chk
Determine if there are any crontabs by viewing a long listing of the directory. If there are crontabs, examine them to determine what cron jobs exist. Check for any programs specifying an umask. # ls -lL /var/spool/cron/crontabs # cat <crontab file> # grep umask <cron program> If there are no cron jobs present, this vulnerability is not applicable. If any cron job contains an umask value more permissive than 077, this is a finding.
Fix: F-4271r2_fix
Edit cron script files and modify the umask to 077.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003240
- Vuln IDs
-
- V-4361
- Rule IDs
-
- SV-27366r1_rule
Checks: C-28510r1_chk
# ls -lL /etc/cron.d/cron.allow If the cron.allow file is not owned by root, sys, or bin, this is a finding.
Fix: F-24611r1_fix
# chown root /etc/cron.d/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003400
- Vuln IDs
-
- V-4364
- Rule IDs
-
- SV-40391r1_rule
Checks: C-39257r1_chk
Check the mode of the "at" directory. Procedure: # ls -ld /var/spool/cron/atjobs If the directory mode is more permissive than 0755, this is a finding.
Fix: F-4275r2_fix
Change the mode of the "at" directory to 0755. Procedure: # chmod 0755 < at directory >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003420
- Vuln IDs
-
- V-4365
- Rule IDs
-
- SV-39886r1_rule
Checks: C-39270r1_chk
Check the ownership of the "at" directory. Procedure: # ls -ld /var/spool/cron/atjobs If the directory is not owned by root, sys, or bin, this is a finding.
Fix: F-34045r1_fix
Change the owner of the "at" directory to root, bin, or sys. Procedure: # chown root /var/spool/cron/atjobs
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003440
- Vuln IDs
-
- V-4366
- Rule IDs
-
- SV-40416r1_rule
Checks: C-39272r1_chk
Determine what "at" jobs exist on the system. Procedure: # ls /var/spool/cron/atjobs If there are no "at" jobs present, this is not applicable. Determine if any of the "at" jobs or any scripts referenced execute the umask command. Check for any umask setting more permissive than 077. # grep umask <at job or referenced script> If any "at" job or referenced script sets umask to a value more permissive than 077, this is a finding.
Fix: F-4277r2_fix
Edit "at" jobs or referenced scripts to remove umask commands setting umask to a value less restrictive than 077.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003460
- Vuln IDs
-
- V-4367
- Rule IDs
-
- SV-27392r1_rule
Checks: C-28552r1_chk
# ls -lL /etc/cron.d/at.allow If the at.allow file is not owned by root, sys, or bin, this is a finding.
Fix: F-24640r1_fix
Change the owner of the at.allow file. # chown root /etc/cron.d/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003480
- Vuln IDs
-
- V-4368
- Rule IDs
-
- SV-27396r1_rule
Checks: C-28559r1_chk
# ls -lL /etc/cron.d/at.deny If the at.deny file is not owned by root, sys, or bin, this is a finding.
Fix: F-24644r1_fix
Change the owner of the at.deny file. # chown root /etc/cron.d/at.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003960
- Vuln IDs
-
- V-4369
- Rule IDs
-
- SV-28392r1_rule
Checks: C-28629r1_chk
# ls -lL /usr/sbin/traceroute If the traceroute command is not owned by root, this is a finding.
Fix: F-25664r1_fix
Change the owner of the traceroute command to root. Example procedure: # chown root /usr/sbin/traceroute
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003980
- Vuln IDs
-
- V-4370
- Rule IDs
-
- SV-28395r1_rule
Checks: C-28632r1_chk
Check the group ownership of the traceroute file. Procedure: # ls -lL /usr/sbin/traceroute If the traceroute command is not group-owned by root, sys, or bin, this is a finding.
Fix: F-25667r1_fix
Change the group-owner of the traceroute command to root. Procedure: # chgrp root /usr/sbin/traceroute
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004000
- Vuln IDs
-
- V-4371
- Rule IDs
-
- SV-28399r1_rule
Checks: C-28635r1_chk
# ls -lL /usr/sbin/traceroute If the traceroute command has a mode more permissive than 0700, this is a finding.
Fix: F-25670r1_fix
Change the mode of the traceroute command. # chmod 0700 /usr/sbin/traceroute
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN004220
- Vuln IDs
-
- V-4382
- Rule IDs
-
- SV-4382r2_rule
Checks: C-8266r2_chk
Look in the root account home directory for a .netscape or a .mozilla directory. If none exists, this is not a finding. If there is one, verify with the root users and the IAO what the intent of the browsing is. Some evidence may be obtained by using the browser to view cached pages under the .netscape directory.
Fix: F-4293r2_fix
Enforce policy requiring administrative accounts use web browsers only for local service administration.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004560
- Vuln IDs
-
- V-4384
- Rule IDs
-
- SV-42310r1_rule
Checks: C-40640r2_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-35943r1_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
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN004580
- Vuln IDs
-
- V-4385
- Rule IDs
-
- SV-39827r1_rule
Checks: C-8268r2_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-33981r1_fix
Remove .forward files from the system. # rm .forward Update the sendmail.cf file to ignore .forward files by adding ForwardPath="".
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005000
- Vuln IDs
-
- V-4387
- Rule IDs
-
- SV-4387r2_rule
Checks: C-8269r2_chk
Check the shell for the anonymous FTP account. Procedure: # grep "^ftp" /etc/passwd This is a finding if the seventh field is empty (the entry ends with a ':') or if the seventh field does not contain one of the following. /bin/false /dev/null /usr/bin/false /bin/true /sbin/nologin
Fix: F-4298r2_fix
Configure anonymous FTP accounts to use a non-functional shell. If necessary, edit the /etc/passwd file to remove any functioning shells associated with the FTP account and replace them with non-functioning shells, such as, /dev/null.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005020
- Vuln IDs
-
- V-4388
- Rule IDs
-
- SV-39838r1_rule
Checks: C-38715r1_chk
The default Solaris FTP daemon, in.ftpd, uses the ftp user's home directory as the chroot base for anonymous FTP. If any files and directories within the ftp user's home directory are owned by any user other than root, or if any subdirectory other than pub has permissions more permissive than 0111, this is a finding.
Fix: F-33983r1_fix
Run the ftpconfig(1M) command to set up a chroot-ed environment for anonymous FTP with appropriate constraints. # ftpconfig < anonymous FTP home directory>
- RMF Control
- SC-32
- Severity
- M
- CCI
- CCI-001208
- Version
- GEN005380
- Vuln IDs
-
- V-4392
- Rule IDs
-
- SV-4392r2_rule
Checks: C-8271r2_chk
Ask the SA if this is an NMS server. If it is an NMS server, then ask what other applications run on it. If there is anything other than network management software and DBMS software used only for the storage and inquiry of NMS data, this is a finding.
Fix: F-4303r2_fix
Ensure only authorized software is loaded on a designated NMS server. Authorized software is limited to the NMS software itself, a database management system for the NMS server if necessary, and network management software.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005400
- Vuln IDs
-
- V-4393
- Rule IDs
-
- SV-4393r2_rule
Checks: C-8272r2_chk
Check /etc/syslog.conf ownership. # ls -lL /etc/syslog.conf If /etc/syslog.conf is not owned by root, this is a finding.
Fix: F-4304r2_fix
Use the chown command to set the owner to root. # chown root /etc/syslog.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005420
- Vuln IDs
-
- V-4394
- Rule IDs
-
- SV-39892r1_rule
Checks: C-38912r1_chk
Check /etc/syslog.conf group ownership. Procedure: # ls -lL /etc/syslog.conf If /etc/syslog.conf is not group-owned by root, sys, or bin, this is a finding.
Fix: F-34049r1_fix
Change the group owner of the /etc/syslog.conf file to root, bin, or sys. Procedure: # chgrp root /etc/syslog.conf
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005460
- Vuln IDs
-
- V-4395
- Rule IDs
-
- SV-4395r2_rule
Checks: C-8274r2_chk
Examine the syslog.conf file for any references to remote log hosts. # grep -v "^#" /etc/syslog.conf | grep '@' Destination locations beginning with an @ represent log hosts. If the log host name is a local alias, such as log host, consult the /etc/hosts or other name databases as necessary to obtain the canonical name or address for the log host. Determine if the host referenced is a log host documented using site-defined procedures. If an undocumented log host is referenced, this is a finding.
Fix: F-4306r3_fix
Remove, replace, or document the referenced undocumented log host.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005560
- Vuln IDs
-
- V-4397
- Rule IDs
-
- SV-30079r1_rule
Checks: C-8275r2_chk
Check the system for an IPv4 default route. Procedure: # netstat -r |grep default If a default route is not defined, this is a finding.
Fix: F-27159r1_fix
Create or edit /etc/defaultrouter to contain the default gateway address. Procedure (for a default gateway of 192.168.3.1): # echo "192.168.3.1" > /etc/defaultrouter Restart the system for the setting to take effect.
- RMF Control
- SC-32
- Severity
- M
- CCI
- CCI-001208
- Version
- GEN005580
- Vuln IDs
-
- V-4398
- Rule IDs
-
- SV-4398r2_rule
Checks: C-8276r2_chk
Ask the SA if the system is a designated router. If it is not, this is not applicable. Check the system for non-routing network services. Procedure: # netstat -a | grep -i listen # ps -ef If non-routing services, including Web servers, file servers, DNS servers, or applications servers, but excluding management services, such as SSH and SNMP, are running on the system, this is a finding.
Fix: F-4309r2_fix
Ensure only authorized software is loaded on a designated router. Authorized software will be limited to the most current version of routing protocols and SSH for system administration purposes.
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001436
- Version
- GEN006380
- Vuln IDs
-
- V-4399
- Rule IDs
-
- SV-4399r2_rule
Checks: C-8277r2_chk
If the system does not use NIS or NIS+, this is not applicable. Check if NIS or NIS+ is implemented using UDP. Procedure: # rpcinfo -p | grep yp | grep udp If NIS or NIS+ is implemented using UDP, this is a finding.
Fix: F-4310r2_fix
Configure the system to not use UDP for NIS and NIS+. Consult vendor documentation for the required procedure.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002020
- Vuln IDs
-
- V-4427
- Rule IDs
-
- SV-40331r1_rule
Checks: C-39209r1_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-4326r2_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002060
- Vuln IDs
-
- V-4428
- Rule IDs
-
- SV-40341r1_rule
Checks: C-39215r1_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-34341r1_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003260
- Vuln IDs
-
- V-4430
- Rule IDs
-
- SV-27371r1_rule
Checks: C-28522r1_chk
Check the ownership of the cron.deny file. # ls -lL /etc/cron.d/cron.deny If the cron.deny file is not owned by root, sys, or bin, this is a finding.
Fix: F-24617r1_fix
Change the ownership of the cron.deny file to root, sys, or bin. # chown root /etc/cron.d/cron.deny
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-000068
- Version
- GEN003820
- Vuln IDs
-
- V-4687
- Rule IDs
-
- SV-27435r1_rule
Checks: C-28621r1_chk
# svcs network/shell If the service is enabled, this is a finding.
Fix: F-24707r1_fix
Disable the remote shell service and restart inetd. Procedure: # svcadm disable network/shell # svcadm refresh inetd
- RMF Control
- AC-17
- Severity
- H
- CCI
- CCI-001435
- Version
- GEN003840
- Vuln IDs
-
- V-4688
- Rule IDs
-
- SV-27438r1_rule
Checks: C-28624r1_chk
# svcs rexec If the service is enabled, this is a finding.
Fix: F-24710r1_fix
# svcadm disable rexec # svcadm refresh inetd
- RMF Control
- SI-2
- Severity
- H
- CCI
- CCI-001230
- Version
- GEN004600
- Vuln IDs
-
- V-4689
- Rule IDs
-
- SV-39819r1_rule
Checks: C-38690r3_chk
Determine the version of the SMTP service software, using a non-privileged account. $ /usr/lib/sendmail -d0 -bt < /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-35979r2_fix
Obtain and install the latest version of Sendmail from Oracle through normal software update processes, as implemented locally.
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN004620
- Vuln IDs
-
- V-4690
- Rule IDs
-
- SV-42311r1_rule
Checks: C-40641r1_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-1395r1_fix
Obtain and install a more recent version of Sendmail, which does not implement the DEBUG feature.
- RMF Control
- SI-2
- Severity
- H
- CCI
- CCI-001230
- Version
- GEN004640
- Vuln IDs
-
- V-4691
- Rule IDs
-
- SV-42312r1_rule
Checks: C-40642r1_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-35944r1_fix
Comment out active decode and uudecode aliases in the aliases file. # vi /usr/mail/aliases Activate updated aliases file. # newaliases
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004660
- Vuln IDs
-
- V-4692
- Rule IDs
-
- SV-4692r2_rule
Checks: C-28638r1_chk
Determine if EXPN is disabled. Procedure: # telnet localhost 25 expn root If the command does not return a 500 error code of command unrecognized, this is a finding. OR Locate the sendmail.cf configuration file. Procedure: # find / -name sendmail.cf -print # grep -v "^#" <sendmail.cf location> | egrep -i "(goaway|noexpn)" Verify the EXPN command is disabled with an entry in the sendmail.cf file that reads as one of the following: Opnoexpn O PrivacyOptions=noexpn Opgoaway O PrivacyOptions=goaway (Other privacy options, such as novrfy or noetrn, may be included in the same line, separated by commas. The goaway option encompasses a number of privacy options, including noexpn.) If the EXPN command is not disabled, this is a finding.
Fix: F-4620r2_fix
Edit the sendmail.cf file and add Opnoexpn option. Restart the Sendmail service.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004680
- Vuln IDs
-
- V-4693
- Rule IDs
-
- SV-4693r2_rule
Checks: C-705r2_chk
Determine if VRFY is disabled. Procedure: # telnet localhost 25 vrfy root If the command does not return a 500 error code of command unrecognized, this is a finding. OR Locate the sendmail.cf configuration file. Procedure: # find / -name sendmail.cf -print # grep -v "^#" <sendmail.cf location> |grep -i "(goaway|vrfy)" Verify the VRFY command is disabled with an entry in the sendmail.cf file that reads as one of the following: Opnovrfy O PrivacyOptions=novrfy Opgoaway O PrivacyOptions=goaway (Other privacy options, such as noexpn or noetrn, may be included in the same line, separated by commas. The goaway option encompasses a number of privacy options, including novrfy.) If the VRFY command is not disabled, this is a finding.
Fix: F-4621r2_fix
If Sendmail is running, add the line Opnovrfy to the Sendmail configuration file, usually located in /etc/sendmail.cf. For other mail servers, contact the vendor for information on how to disable the verify command. Newer versions of Sendmail are available at http://www.sendmail.org or from ftp://ftp.cs.berkeley.edu/ucb/sendmail.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN004700
- Vuln IDs
-
- V-4694
- Rule IDs
-
- SV-4694r2_rule
Checks: C-706r2_chk
Locate the sendmail.cf configuration file and check for wiz configuration. Procedure: # find / -name sendmail.cf -print # grep -v "^#" <sendmail.cf location> |grep -i wiz If an entry is found for wiz, this is a finding.
Fix: F-4622r2_fix
If the WIZ command is enabled on Sendmail, it should be disabled by adding this line to the sendmail.cf configuration file (it must be typed in uppercase). OW* For the change to take effect, kill the Sendmail process, refreeze the sendmail.cf file, and restart the Sendmail process.
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005140
- Vuln IDs
-
- V-4695
- Rule IDs
-
- SV-28423r1_rule
Checks: C-28689r1_chk
Determine if the TFTP daemon is active. # svcs svc:/network/tftp/* If TFTP is found enabled, it is a finding if it is not documented using site-defined procedures.
Fix: F-25718r1_fix
Disable the TFTP daemon. # svcadm disable svc:/network/tftp/* # svcadm refresh inetd If TFTP is found enabled, it is a finding if it is not documented.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN005280
- Vuln IDs
-
- V-4696
- Rule IDs
-
- SV-28428r1_rule
Checks: C-28693r1_chk
# svcs uucp If UUCP is found enabled, this is a finding.
Fix: F-25721r1_fix
# svcadm disable uucp # svcadm refresh inetd
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN005200
- Vuln IDs
-
- V-4697
- Rule IDs
-
- SV-4697r2_rule
Checks: C-719r2_chk
If X Windows is not used on the system, this is not applicable. Check the output of the xhost command from an X terminal. Procedure: $ xhost If the output reports access control is enabled (and possibly lists the hosts that can receive X Window logins), this is not a finding. If the xhost command returns a line indicating access control is disabled, this is a finding. NOTE: It may be necessary to define the display if the command reports it cannot open the display. Procedure: $ DISPLAY=MachineName:0.0; export DISPLAY MachineName may be replaced with an Internet Protocol Address. Repeat the check procedure after setting the display.
Fix: F-4625r2_fix
If using an xhost-type authentication the xhost - command can be used to remove current trusted hosts and then selectively allow only trusted hosts to connect with xhost + commands. A cryptographically secure authentication, such as provided by the xauth program, is always preferred. Refer to your X11 server's documentation for further security information.
- RMF Control
- AC-4
- Severity
- L
- CCI
- CCI-001551
- Version
- GEN003860
- Vuln IDs
-
- V-4701
- Rule IDs
-
- SV-27441r2_rule
Checks: C-28627r3_chk
If the "SUNWrcmds" package, containing the finger service executable, is not installed, this is not applicable. # svcs finger If the finger service is not disabled, this is a finding.
Fix: F-24713r1_fix
Disable the finger service and restart inetd. Procedure: # svcadm disable finger # svcadm refresh inetd
- RMF Control
- IA-4
- Severity
- M
- CCI
- CCI-000787
- Version
- GEN004840
- Vuln IDs
-
- V-4702
- Rule IDs
-
- SV-4702r2_rule
Checks: C-712r2_chk
Use the command ftp to connect the system's FTP service. Attempt to log into this host with a user name of anonymous and a password of guest (also try the password of guest@mail.com). If the logon is not successful, this check is not applicable. Ask the SA if the system is located on a DMZ network. If the system is not located on a DMZ network, this is a finding.
Fix: F-4630r2_fix
Move the system to a DMZ network.
- RMF Control
- SI-2
- Severity
- H
- CCI
- CCI-001230
- Version
- GEN000100
- Vuln IDs
-
- V-11940
- Rule IDs
-
- SV-27051r1_rule
Checks: C-27965r1_chk
# 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-11211r2_fix
Upgrade to a supported version of the operating system.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000293
- Version
- GEN000140
- Vuln IDs
-
- V-11941
- Rule IDs
-
- SV-12442r2_rule
Checks: C-7918r2_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-11212r2_fix
Create a file integrity baseline, including cryptographic hashes, for the system.
- RMF Control
- RA-5
- Severity
- M
- CCI
- CCI-001069
- Version
- GEN000220
- Vuln IDs
-
- V-11945
- Rule IDs
-
- SV-28610r2_rule
Checks: C-28849r3_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-25883r3_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.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000340
- Vuln IDs
-
- V-11946
- Rule IDs
-
- SV-12447r2_rule
Checks: C-29002r1_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-26001r1_fix
Change the UID numbers for non-system accounts with reserved UIDs (those less or equal to 99).
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000205
- Version
- GEN000580
- Vuln IDs
-
- V-11947
- Rule IDs
-
- SV-27110r2_rule
Checks: C-28026r2_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-24373r2_fix
Edit /etc/default/passwd and set the PASSLENGTH variable to 15 or greater.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000192
- Version
- GEN000600
- Vuln IDs
-
- V-11948
- Rule IDs
-
- SV-27115r1_rule
Checks: C-28032r1_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-24379r1_fix
Edit /etc/default/passwd and set the MINUPPER setting to at least 1.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000194
- Version
- GEN000620
- Vuln IDs
-
- V-11972
- Rule IDs
-
- SV-27119r1_rule
Checks: C-28036r1_chk
Check the MINDIGIT setting. # grep MINDIGIT /etc/default/passwd If the MINDIGIT setting is less than 1, this is a finding.
Fix: F-24384r1_fix
Edit /etc/default/passwd and set the MINDIGIT setting to 1.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-001619
- Version
- GEN000640
- Vuln IDs
-
- V-11973
- Rule IDs
-
- SV-27123r1_rule
Checks: C-28041r1_chk
Check the MINSPECIAL setting. # grep MINSPECIAL /etc/default/passwd If the MINSPECIAL setting is less than 1, this is a finding.
Fix: F-24389r1_fix
Edit /etc/default/passwd and set MINSPECIAL to 1.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000680
- Vuln IDs
-
- V-11975
- Rule IDs
-
- SV-27126r1_rule
Checks: C-28044r1_chk
Check the MAXREPEATS setting. # grep MAXREPEATS /etc/default/passwd If the MAXREPEATS setting is greater than 3, this is a finding.
Fix: F-24393r1_fix
Edit /etc/default/passwd and set MAXREPEATS to 3.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000180
- Version
- GEN000700
- Vuln IDs
-
- V-11976
- Rule IDs
-
- SV-39845r3_rule
Checks: C-38769r2_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-33984r2_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.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000199
- Version
- GEN000740
- Vuln IDs
-
- V-11977
- Rule IDs
-
- SV-12478r2_rule
Checks: C-7942r2_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-11238r2_fix
Implement or establish procedures to change the passwords of automated processing accounts at least once per year.
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000770
- Version
- GEN001020
- Vuln IDs
-
- V-11979
- Rule IDs
-
- SV-39848r1_rule
Checks: C-39531r1_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-34665r1_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>
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN001060
- Vuln IDs
-
- V-11980
- Rule IDs
-
- SV-39850r1_rule
Checks: C-28082r1_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-33987r1_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001720
- Vuln IDs
-
- V-11981
- Rule IDs
-
- SV-39829r1_rule
Checks: C-38706r1_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-35215r1_fix
Change the mode of the global initialization file(s) to 0644. # chmod 0644 <global initialization file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001740
- Vuln IDs
-
- V-11982
- Rule IDs
-
- SV-39830r1_rule
Checks: C-38707r1_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-11243r2_fix
Change the ownership of global initialization files with incorrect ownership. Procedure: # chown bin <global initialization files>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001760
- Vuln IDs
-
- V-11983
- Rule IDs
-
- SV-39831r1_rule
Checks: C-38708r1_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-11244r4_fix
Change the group ownership of the global initialization file(s) with incorrect group ownership. Procedure: # chgrp root <global initialization file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001820
- Vuln IDs
-
- V-11984
- Rule IDs
-
- SV-12485r2_rule
Checks: C-7949r2_chk
Check skeleton files ownership. # ls -alL /etc/skel If a skeleton file is not owned by bin, this is a finding.
Fix: F-11245r2_fix
Change the ownership of skeleton files with incorrect mode. # chown bin <skeleton file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001840
- Vuln IDs
-
- V-11985
- Rule IDs
-
- SV-12486r3_rule
Checks: C-7950r3_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 other than "$PATH", it is a relative path, and this is a finding.
Fix: F-11246r3_fix
Edit the global initialization file(s) with PATH variables containing relative paths. Edit the file and remove the relative path from the PATH variable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001900
- Vuln IDs
-
- V-11986
- Rule IDs
-
- SV-12487r4_rule
Checks: C-7951r4_chk
NOTE: The following must be done in the BASH shell. Examine the PATH variable contained in any user's local initialization files to ensure the use of only absolute paths, using a command shell that supports the use of ~USER as USER's home directory. # cat /etc/passwd | cut -f 1,1 -d ":" | xargs -n1 -IUSER sh -c 'grep -i PATH ~USER/.*' The PATH variable is a colon-delimited directory list. 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 other than "$PATH", it is a relative path and this is a finding.
Fix: F-11247r2_fix
Edit the local initialization file(s) and remove the relative path entry from the PATH variable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001980
- Vuln IDs
-
- V-11987
- Rule IDs
-
- SV-12488r2_rule
Checks: C-7952r2_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-11248r2_fix
Edit the .rhosts, .shosts, hosts.equiv, shosts.equiv, /etc/passwd, /etc/shadow, and/or /etc/group files and remove entries containing a plus (+).
- RMF Control
- CM-6
- Severity
- H
- CCI
- CCI-000366
- Version
- GEN002040
- Vuln IDs
-
- V-11988
- Rule IDs
-
- SV-40332r1_rule
Checks: C-39210r1_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-11249r2_fix
Remove the .rhosts, .shosts, hosts.equiv, and/or shosts.equiv files.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN002100
- Vuln IDs
-
- V-11989
- Rule IDs
-
- SV-40334r1_rule
Checks: C-39211r1_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-11250r2_fix
Edit /etc/pam.conf and remove the reference(s) to the rhosts_auth module.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002540
- Vuln IDs
-
- V-11990
- Rule IDs
-
- SV-12491r2_rule
Checks: C-7955r2_chk
Check the group ownership of public directories. Procedure: # find / -type d -perm -1002 -exec ls -ld {} \; If any public directory is not group-owned by root, sys, bin, or an application group (such as mail), this is a finding.
Fix: F-11251r2_fix
Change the group ownership of the public directory. Procedure: # chgrp root /tmp (Replace root with a different system group and/or /tmp with a different public directory as necessary.)
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003040
- Vuln IDs
-
- V-11994
- Rule IDs
-
- SV-27333r1_rule
Checks: C-28469r1_chk
List all crontabs on the system. # ls -lL /var/spool/cron/crontabs/ If any crontab is not owned by root or the creating user, this is a finding.
Fix: F-11255r2_fix
Change the crontab owner to root or the crontab creator. # chown root <crontab file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003060
- Vuln IDs
-
- V-11995
- Rule IDs
-
- SV-27335r1_rule
Checks: C-28471r1_chk
Check the cron.allow and cron.deny files for the system. # more /etc/cron.d/cron.allow # more /etc/cron.d/cron.deny If a default system account (such as bin, sys, adm, or others) is listed in the cron.allow file, or not listed in the cron.deny file if no cron.allow file exists, this is a finding.
Fix: F-11256r2_fix
Remove default system accounts (such as bin, sys, adm, or others) from the cron.allow file if it exists, or add those accounts to the cron.deny file.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN003500
- Vuln IDs
-
- V-11996
- Rule IDs
-
- SV-27400r1_rule
Checks: C-28564r1_chk
Check the process core dump configuration. # coreadm |grep enabled OR # egrep "COREADM_.*_ENABLED" /etc/coreadm.conf. If any lines are returned by coreadm or if any lines are not set to no in /etc/coreadm.conf, this is a finding. # grep coredumpsize /etc/system If the value is 1, this is a finding.
Fix: F-24648r1_fix
Change the process core dump configuration. # coreadm -d global # coreadm -d process # coreadm -d global-setid # coreadm -d proc-setid # coreadm -d log Edit /etc/system and remove the coredumpsize parameter.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003520
- Vuln IDs
-
- V-11997
- Rule IDs
-
- SV-27407r1_rule
Checks: C-28592r1_chk
Check the ownership of the kernel core dump data directory. # ls -ld /var/crash OR # ls -ld `grep DUMPADM_SAVDIR /etc/dumpadm.conf | cut -d= -f2` If the kernel core dump data directory is not owned by root, this is a finding.
Fix: F-24679r1_fix
Change the owner of the kernel core dump data directory to root. # chown root /var/crash
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN003540
- Vuln IDs
-
- V-11999
- Rule IDs
-
- SV-27412r2_rule
Checks: C-28598r2_chk
This check applies to the global zone only. Determine the type of zone that you are currently securing. # zonename If the command output is "global", this check applies. Determine if the system implements non-executable program stacks. # grep noexec_user_stack /etc/system If the noexec_user_stack is not set to 1, this is a finding.
Fix: F-24684r2_fix
This action applies to the global zone only. Determine the type of zone that you are currently securing. # zonename If the command output is "global", this action applies. Edit /etc/system and set the noexec_user_stack parameter to 1. Restart the system for the setting to take effect.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN003580
- Vuln IDs
-
- V-12001
- Rule IDs
-
- SV-27416r1_rule
Checks: C-28602r1_chk
# grep "TCP_STRONG_ISS=2" /etc/default/inetinit If this variable is not set, this is a finding.
Fix: F-24688r1_fix
Edit /etc/default/inetinit and set the TCP_STRONG_ISS parameter to 2.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003600
- Vuln IDs
-
- V-12002
- Rule IDs
-
- SV-27420r2_rule
Checks: C-28606r4_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces verify the network settings: # ndd /dev/ip ip_forward_src_routed If the returned value is not 0, this is a finding.
Fix: F-24692r1_fix
Configure the system to not forward IPv4 source-routed packets. Procedure: # ndd /dev/ip ip_forward_src_routed 0 This command must also be added to a system startup script.
- RMF Control
- SC-32
- Severity
- L
- CCI
- CCI-001208
- Version
- GEN003620
- Vuln IDs
-
- V-12003
- Rule IDs
-
- SV-28618r3_rule
Checks: C-28864r2_chk
Determine if the /export/home path is a separate file system. # grep /export/home /etc/vfstab If no result is returned, /export/home is not on a separate file system and this is a finding. If ZFS is used for home directories, this is not applicable.
Fix: F-25896r1_fix
Migrate the /export/home path onto a separate file system.
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN003660
- Vuln IDs
-
- V-12004
- Rule IDs
-
- SV-12505r2_rule
Checks: C-7968r2_chk
Check /etc/syslog.conf and verify the auth facility is logging both the notice and info level messages by using one of the procedures below. # grep "auth.notice" /etc/syslog.conf # grep "auth.info" /etc/syslog.conf OR # grep 'auth.*' /etc/syslog.conf If auth.* is not found, and either auth.notice or auth.info is not found, this is a finding.
Fix: F-11264r3_fix
Edit /etc/syslog.conf and add local log destinations for auth.* or both auth.notice and auth.info.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003700
- Vuln IDs
-
- V-12005
- Rule IDs
-
- SV-27426r1_rule
Checks: C-28611r2_chk
Determine if inetd is running, # svcs -a | grep inetd If inetd is not running, this check is not a finding. # inetadm | grep -v disabled If no enabled/online services are found, yet the inetd daemon is running, this is a finding.
Fix: F-24697r1_fix
Disable the inetd service. Procedure: # svcadm disable inetd
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN004540
- Vuln IDs
-
- V-12006
- Rule IDs
-
- SV-42309r1_rule
Checks: C-40639r1_chk
Check if Help is disabled in Sendmail. Procedure: # telnet <host> 25 > 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-35942r1_fix
To disable the SMTP HELP command, clear the Sendmail help file. # echo > /etc/mail/helpfile
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN004800
- Vuln IDs
-
- V-12010
- Rule IDs
-
- SV-28635r1_rule
Checks: C-28887r1_chk
Perform the following to determine if unencrypted FTP is enabled. # svcs ftp If FTP is enabled, ask the SA if it is encrypted. If it is not, this is a finding.
Fix: F-25909r1_fix
# svcadm disable ftp
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005040
- Vuln IDs
-
- V-12011
- Rule IDs
-
- SV-12512r2_rule
Checks: C-7976r2_chk
Check the umask setting for the FTP user. Procedure: # su - ftp $ umask If the umask value does not return 077, this is a finding.
Fix: F-11272r2_fix
Edit the initialization files for the FTP user and set the umask to 077.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005180
- Vuln IDs
-
- V-12014
- Rule IDs
-
- SV-12515r2_rule
Checks: C-7978r2_chk
Check the file permissions for the .Xauthority files in the home directories of users of X. Procedure: # cd ~<X user> # ls -lL .Xauthority If the file mode is more permissive than 0600, this is finding.
Fix: F-11274r2_fix
Change the mode of the .Xauthority files. Procedure: # chmod 0600 .Xauthority
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000297
- Version
- GEN005220
- Vuln IDs
-
- V-12016
- Rule IDs
-
- SV-12517r2_rule
Checks: C-7979r2_chk
Determine if the X server is running. Procedure: # ps -ef |grep X Determine if xauth is being used. Procedure: # xauth xauth> list If the above command sequence does not show any host other than the localhost, then xauth is not being used. Search the system for an X*.hosts files, where * is a display number that may be used to limit X window connections. If no files are found, X*.hosts files are not being used. If the X*.hosts files contain any unauthorized hosts, this is a finding. If both xauth and X*.hosts files are not being used, this is a finding.
Fix: F-11275r2_fix
Create an X*.hosts file, where * is a display number that may be used to limit X window connections. Add the list of authorized X clients to the file.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005240
- Vuln IDs
-
- V-12017
- Rule IDs
-
- SV-12518r2_rule
Checks: C-7980r2_chk
Check the X Window system access is limited to authorized clients. Procedure: # xauth xauth> list Ask the SA if the clients listed are authorized. If any are not, this is a finding.
Fix: F-11276r2_fix
Remove unauthorized clients from the xauth configuration. # xauth remove <display name>
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN005260
- Vuln IDs
-
- V-12018
- Rule IDs
-
- SV-12519r2_rule
Checks: C-7981r2_chk
Determine if the X Window system is running. Procedure: # ps -ef |grep X Ask the SA if the X Window system is an operational requirement. If it is not, this is a finding.
Fix: F-11277r2_fix
Disable the X Windows server on the system.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005360
- Vuln IDs
-
- V-12019
- Rule IDs
-
- SV-40274r2_rule
Checks: C-39121r1_chk
Determine the owner of the SNMP configuration files. Procedure: # ls -lL /etc/sma/snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /var/sma_snmp/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf If the snmpd.conf files are not owned by root, this is a finding.
Fix: F-35920r1_fix
Change the owner of the snmpd.conf file to root. Procedure: # chown root <snmpd.conf file>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005440
- Vuln IDs
-
- V-12020
- Rule IDs
-
- SV-41515r1_rule
Checks: C-7984r2_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-11279r2_fix
Configure the hosts outside of the local enclave to not log to this system.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005480
- Vuln IDs
-
- V-12021
- Rule IDs
-
- SV-28431r1_rule
Checks: C-28702r1_chk
# svcprop system-log | grep log_from_remote If the config/log_from_remote value is not false, this is a finding.
Fix: F-25729r1_fix
# svccfg -s system-log setprop config/log_from_remote=false # svcadm refresh system-log
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005540
- Vuln IDs
-
- V-12022
- Rule IDs
-
- SV-40279r1_rule
Checks: C-39122r1_chk
Check the TCP wrappers configuration files to determine if SSHD is configured to use TCP wrappers. Procedure: # egrep '^[^#:]*(ALL|sshd)' /etc/hosts.deny # egrep '^[^#:]*(ALL|sshd)' /etc/hosts.allow If neither of the hosts.deny or hosts.allow files exist, this is a finding. If no entries are returned, the TCP wrappers are not configured for SSHD, this is a finding.
Fix: F-11281r2_fix
Add appropriate IP restrictions for SSH to the /etc/hosts.deny and/or /etc/hosts.allow files.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005600
- Vuln IDs
-
- V-12023
- Rule IDs
-
- SV-28581r1_rule
Checks: C-28844r1_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-25853r1_fix
Disable IPv4 forwarding on the system. # svcadm disable svc:/network/ipv4-forwarding
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006000
- Vuln IDs
-
- V-12024
- Rule IDs
-
- SV-41525r1_rule
Checks: C-7989r2_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-11283r2_fix
Uninstall the IM client from the system, or configure the client to only connect to DoD-approved IM services.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN006040
- Vuln IDs
-
- V-12025
- Rule IDs
-
- SV-12526r2_rule
Checks: C-7990r2_chk
Ask the SA if any peer-to-peer file-sharing applications are installed. Some examples of these applications include: - Napster, - Kazaa, - ARES, - Limewire, - IRC Chat Relay, and - BitTorrent. If any of these applications are installed, this is a finding.
Fix: F-11284r2_fix
Uninstall the peer-to-peer file sharing application(s) from the system.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006420
- Vuln IDs
-
- V-12026
- Rule IDs
-
- SV-12527r2_rule
Checks: C-7991r2_chk
Check the domain name for NIS maps. Procedure: # domainname If the name returned is simple to guess, such as the organization name, building, or room name, etc., this is a finding.
Fix: F-11285r2_fix
Change the NIS domain name to a value difficult to guess. Consult vendor documentation for the required procedure.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006560
- Vuln IDs
-
- V-12028
- Rule IDs
-
- SV-41530r1_rule
Checks: C-7992r2_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-11286r2_fix
Configure the security tools on the system to notify the IAO and SA when any security issues are detected.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006620
- Vuln IDs
-
- V-12030
- Rule IDs
-
- SV-41532r1_rule
Checks: C-7993r2_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-11287r2_fix
Edit the /etc/hosts.allow and /etc/hosts.deny files to configure access restrictions.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00020
- Vuln IDs
-
- V-12031
- Rule IDs
-
- SV-12532r2_rule
Checks: C-7994r2_chk
# grep mount /etc/rmmount.conf Confirm the nosuid option is configured. mount * hsgs udgs ufs -o nosuid If the nosuid option is not configured in the /etc/rmmount.conf file, this is a finding.
Fix: F-11288r2_fix
Edit /etc/rmmount.conf and add the nosuid mount option to the configuration.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-000032
- Version
- GEN000000-SOL00420
- Vuln IDs
-
- V-12032
- Rule IDs
-
- SV-12533r2_rule
Checks: C-7995r2_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-11289r2_fix
Remove the hidden extended file attributes. # runat <file name> rm <attribute name>
- RMF Control
- AC-6
- Severity
- H
- CCI
- CCI-000225
- Version
- GEN000000-SOL00440
- Vuln IDs
-
- V-12033
- Rule IDs
-
- SV-12534r2_rule
Checks: C-7997r2_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-11290r2_fix
Change the default GID of non-root accounts to a valid GID other than 0.
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003865
- Vuln IDs
-
- V-12049
- Rule IDs
-
- SV-40811r1_rule
Checks: C-8008r2_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-34664r1_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
- RMF Control
- SI-3
- Severity
- M
- CCI
- CCI-001668
- Version
- GEN006640
- Vuln IDs
-
- V-12765
- Rule IDs
-
- SV-28461r3_rule
Checks: C-28787r2_chk
Check for the existence of the McAfee command line scan tool to be executed daily in the cron file. Additional tools specific for each operating system are also available and will have to be manually reviewed if installed. In addition, the definitions file should not be older than seven (7) days. Check if uvscan is scheduled to run. # grep uvscan /var/spool/cron/crontabs/* Perform the following command to ensure the virus definition signature files are not older than seven (7) days. # ls -la clean.dat names.dat scan.dat If a virus scanner is not being run daily or the virus definitions are older than seven (7) days, this is a finding.
Fix: F-12286r3_fix
Install McAfee command line virus scan tool, or an appropriate alternative from https://www.jtfgno.mil. Ensure the virus signature definition files are no older than seven (7) days. Updates are also available from https://www.jtfgno.mil. Ensure the command line virus scan tool is run on a regular basis using a utility, such as cron.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000241
- Vuln IDs
-
- V-22290
- Rule IDs
-
- SV-26291r2_rule
Checks: C-27387r2_chk
NTP must be used and used only in the global zone. Determine the type of zone that you are currently securing. # zonename If the command output is not "global", then NTP must be disabled. Check the system for a running NTP daemon. # svcs -Ho state ntp If NTP 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 -Ho state ntp If NTP is not online, this is a finding.
Fix: F-23443r3_fix
Determine the type of zone that you are currently securing. # zonename If the command output is not "global", then NTP must be disabled. # svcadm disable ntp If the output from "zonename" is "global", then NTP must be enabled. # svcadm enable ntp
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-000160
- Version
- GEN000242
- Vuln IDs
-
- V-22291
- Rule IDs
-
- SV-26303r1_rule
Checks: C-27400r1_chk
Check the root crontab for ntpdate entries. # crontab -l | grep ntpdate If the ntpdate command is not invoked with at least two external NTP servers listed, this is a finding. Check the NTP daemon configuration for at least two external servers. # grep '^server' /etc/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-23455r1_fix
If using ntpdate, add additional NTP servers to the cron job running ntpdate. If using the NTP daemon, add an additional server line to /etc/inet/ntp.conf for each additional NTP server.
- RMF Control
- AU-8
- Severity
- L
- CCI
- CCI-000160
- Version
- GEN000244
- Vuln IDs
-
- V-22292
- Rule IDs
-
- SV-26305r1_rule
Checks: C-27411r1_chk
Check the root crontab for ntpdate entries. # crontab -l | grep ntpdate If the ntpdate command is invoked with NTP servers outside of the enclave, this is a finding. Check the NTP daemon configuration. # grep '^server' /etc/inet/ntp.conf If an NTP server is listed outside of the enclave, this is a finding.
Fix: F-23457r1_fix
If using ntpdate, remove NTP servers that are external to the enclave from the cron job running ntpdate. If using the NTP daemon, remove the server line from /etc/inet/ntp.conf for each NTP server that is external to the enclave.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000250
- Vuln IDs
-
- V-22294
- Rule IDs
-
- SV-26293r1_rule
Checks: C-27389r1_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-23445r1_fix
Change the owner of the NTP configuration file to root. # chown root /etc/inet/ntp.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000251
- Vuln IDs
-
- V-22295
- Rule IDs
-
- SV-26296r1_rule
Checks: C-27392r1_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-23448r1_fix
Change the group owner of the NTP configuration file. Procedure: # chgrp root /etc/inet/ntp.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000252
- Vuln IDs
-
- V-22296
- Rule IDs
-
- SV-26298r1_rule
Checks: C-27394r1_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-23450r1_fix
Change the mode of the NTP configuration file to 0640 or less permissive. # chmod 0640 /etc/inet/ntp.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000253
- Vuln IDs
-
- V-22297
- Rule IDs
-
- SV-26301r1_rule
Checks: C-27396r1_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-23453r1_fix
Remove the extended ACL from the file. # chmod A- /etc/inet/ntp.conf
- RMF Control
- AC-9
- Severity
- L
- CCI
- CCI-000052
- Version
- GEN000452
- Vuln IDs
-
- V-22299
- Rule IDs
-
- SV-26310r1_rule
Checks: C-27427r1_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-23464r1_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.
- RMF Control
- AC-14
- Severity
- L
- CCI
- CCI-000061
- Version
- GEN000510
- Vuln IDs
-
- V-22301
- Rule IDs
-
- SV-39865r1_rule
Checks: C-38870r1_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-34014r1_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
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000205
- Version
- GEN000585
- Vuln IDs
-
- V-22302
- Rule IDs
-
- SV-26318r1_rule
Checks: C-27433r2_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-23473r1_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.
- RMF Control
- IA-7
- Severity
- M
- CCI
- CCI-000803
- Version
- GEN000590
- Vuln IDs
-
- V-22303
- Rule IDs
-
- SV-40776r1_rule
Checks: C-39521r2_chk
Verify the traditional UNIX crypt algorithm is deprecated. # egrep CRYPT_ALGORITHMS_DEPRECATE /etc/security/policy.conf If CRYPT_ALGORITHMS_DEPRECATE is not set or does not include "__unix__", 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-34635r1_fix
Edit the /etc/security/policy.conf file. # vi /etc/security/policy.conf Uncomment the CRYPT_ALGORITHMS_DEPRECATE line and set it to "__unix__". Update the CRYPT_DEFAULT default line to be equal to 5 or 6. The following lines are acceptable. CRYPT_ALGORITHMS_DEPRECATE=__unix__ CRYPT_DEFAULT=6
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000196
- Version
- GEN000595
- Vuln IDs
-
- V-22304
- Rule IDs
-
- SV-40790r1_rule
Checks: C-39528r1_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-34652r1_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 the CRYPT_ALGORITHMS_DEPRECATE line and set it to "__unix__". Update the CRYPT_DEFAULT default line to be equal to 5 or 6. The following lines are acceptable. CRYPT_ALGORITHMS_DEPRECATE=__unix__ CRYPT_DEFAULT=6 Update passwords for all accounts with non-compliant password hashes.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000195
- Version
- GEN000750
- Vuln IDs
-
- V-22306
- Rule IDs
-
- SV-26324r2_rule
Checks: C-27439r2_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-23479r2_fix
Edit /etc/default/passwd and set or add a MINDIFF setting equal to or greater than 8.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000189
- Version
- GEN000790
- Vuln IDs
-
- V-22307
- Rule IDs
-
- SV-26345r1_rule
Checks: C-27451r2_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-23521r1_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.
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-000009
- Version
- GEN000850
- Vuln IDs
-
- V-22308
- Rule IDs
-
- SV-39876r1_rule
Checks: C-39530r1_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-34021r1_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>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000930
- Vuln IDs
-
- V-22309
- Rule IDs
-
- SV-26353r1_rule
Checks: C-27457r1_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-23536r1_fix
Remove the extended ACL from the directory. # chmod A- ~root
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000945
- Vuln IDs
-
- V-22310
- Rule IDs
-
- SV-26355r1_rule
Checks: C-27458r1_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-23538r1_fix
Edit the root user initialization files and remove any definition of LD_LIBRARY_PATH.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN000950
- Vuln IDs
-
- V-22311
- Rule IDs
-
- SV-26357r1_rule
Checks: C-27460r1_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-23540r1_fix
Edit the root user initialization files and remove any definition of LD_PRELOAD.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001170
- Vuln IDs
-
- V-22312
- Rule IDs
-
- SV-26358r1_rule
Checks: C-27461r1_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-23541r2_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
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001190
- Vuln IDs
-
- V-22313
- Rule IDs
-
- SV-26361r1_rule
Checks: C-27463r1_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-23544r1_fix
Remove the extended ACL from the file. # chmod A- [file with extended ACL]
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001210
- Vuln IDs
-
- V-22314
- Rule IDs
-
- SV-26365r1_rule
Checks: C-27470r1_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-23559r1_fix
Remove the extended ACL from the file. # chmod A- [file with extended ACL]
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- GEN001270
- Vuln IDs
-
- V-22315
- Rule IDs
-
- SV-26369r1_rule
Checks: C-38879r1_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-23563r1_fix
Remove the extended ACL from the file. # chmod A- [file with extended ACL]
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001290
- Vuln IDs
-
- V-22316
- Rule IDs
-
- SV-26373r1_rule
Checks: C-38713r1_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-23567r1_fix
Remove the extended ACL from the file. # chmod A- [file with extended ACL]
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- GEN001310
- Vuln IDs
-
- V-22317
- Rule IDs
-
- SV-26377r1_rule
Checks: C-38694r1_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-23571r1_fix
Remove the extended ACL from the file. # chmod A- [file with extended ACL]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001361
- Vuln IDs
-
- V-22318
- Rule IDs
-
- SV-26388r1_rule
Checks: C-27479r1_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-23580r1_fix
Remove the extended ACL from the directory and files. # chmod -R A- /usr/lib/netsvc/yp /var/yp
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001362
- Vuln IDs
-
- V-22319
- Rule IDs
-
- SV-26395r1_rule
Checks: C-27484r1_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-23586r1_fix
Change the owner of the /etc/resolv.conf file to root. # chown root /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001363
- Vuln IDs
-
- V-22320
- Rule IDs
-
- SV-39894r1_rule
Checks: C-38914r1_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-34051r1_fix
Change the group owner of the /etc/resolv.conf file to root, bin, or sys. Procedure: # chgrp root /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001364
- Vuln IDs
-
- V-22321
- Rule IDs
-
- SV-26397r1_rule
Checks: C-27486r1_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-23588r1_fix
Change the mode of the /etc/resolv.conf file to 0644 or less permissive. # chmod 0644 /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001365
- Vuln IDs
-
- V-22322
- Rule IDs
-
- SV-26402r1_rule
Checks: C-27487r1_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-23592r1_fix
Remove the extended ACL from the file. # chmod A- /etc/resolv.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001366
- Vuln IDs
-
- V-22323
- Rule IDs
-
- SV-26410r2_rule
Checks: C-27492r2_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-23597r1_fix
Change the owner of the /etc/hosts file to root. # chown root /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001367
- Vuln IDs
-
- V-22324
- Rule IDs
-
- SV-39896r1_rule
Checks: C-38916r1_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-34053r1_fix
Change the group owner of the /etc/hosts file to root, sys, or bin. Procedure: # chgrp root /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001368
- Vuln IDs
-
- V-22325
- Rule IDs
-
- SV-26412r1_rule
Checks: C-27494r1_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-23599r1_fix
Change the mode of the /etc/hosts file to 0644 or less permissive. # chmod 0644 /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001369
- Vuln IDs
-
- V-22326
- Rule IDs
-
- SV-26415r1_rule
Checks: C-27495r2_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-23602r1_fix
Remove the extended ACL from the file. # chmod A- /etc/hosts
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001371
- Vuln IDs
-
- V-22327
- Rule IDs
-
- SV-26417r1_rule
Checks: C-27496r1_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-23604r1_fix
Change the owner of the /etc/nsswitch.conf file to root. # chown root /etc/nsswitch.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001372
- Vuln IDs
-
- V-22328
- Rule IDs
-
- SV-39897r1_rule
Checks: C-38917r1_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-34054r1_fix
Change the group owner of the /etc/nsswitch.conf file to root, bin, or sys. Procedure: # chgrp root /etc/nsswitch.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001373
- Vuln IDs
-
- V-22329
- Rule IDs
-
- SV-26419r1_rule
Checks: C-27498r1_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-23606r1_fix
Change the mode of the /etc/nsswitch.conf file to 0644 or less permissive. Procedure: # chmod 0644 /etc/nsswitch.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001374
- Vuln IDs
-
- V-22330
- Rule IDs
-
- SV-26422r1_rule
Checks: C-27499r1_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-23609r1_fix
Remove the extended ACL from the file. # chmod A- /etc/nsswitch.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001378
- Vuln IDs
-
- V-22332
- Rule IDs
-
- SV-26425r1_rule
Checks: C-27501r1_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-23612r1_fix
Change the owner of the /etc/passwd file to root. # chown root /etc/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001379
- Vuln IDs
-
- V-22333
- Rule IDs
-
- SV-39898r1_rule
Checks: C-38918r1_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-34055r1_fix
Change the group owner of the /etc/passwd file to root, bin, or sys. Procedure: # chgrp root /etc/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001390
- Vuln IDs
-
- V-22334
- Rule IDs
-
- SV-26429r1_rule
Checks: C-27503r1_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-23617r1_fix
Remove the extended ACL from the file. # chmod A- /etc/passwd
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001391
- Vuln IDs
-
- V-22335
- Rule IDs
-
- SV-26431r1_rule
Checks: C-27507r1_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-23621r1_fix
Change the owner of the /etc/group file to root. # chown root /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001392
- Vuln IDs
-
- V-22336
- Rule IDs
-
- SV-39899r1_rule
Checks: C-38919r1_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-34057r1_fix
Change the group owner of the /etc/group file. Procedure: # chgrp root /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001393
- Vuln IDs
-
- V-22337
- Rule IDs
-
- SV-26433r1_rule
Checks: C-27509r1_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-23623r1_fix
Change the mode of the /etc/group file to 0644 or less permissive. # chmod 0644 /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001394
- Vuln IDs
-
- V-22338
- Rule IDs
-
- SV-26436r1_rule
Checks: C-27510r1_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-23626r1_fix
Remove the extended ACL from the file. # chmod A- /etc/group
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001410
- Vuln IDs
-
- V-22339
- Rule IDs
-
- SV-39900r1_rule
Checks: C-38920r1_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-34058r1_fix
Change the group owner of the /etc/shadow file. Procedure: # chgrp root /etc/shadow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001430
- Vuln IDs
-
- V-22340
- Rule IDs
-
- SV-26440r1_rule
Checks: C-39534r1_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-23630r1_fix
Remove the extended ACL from the file. # chmod A- /etc/shadow
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000201
- Version
- GEN001470
- Vuln IDs
-
- V-22347
- Rule IDs
-
- SV-26467r1_rule
Checks: C-27531r1_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-23657r1_fix
Migrate /etc/passwd password hashes to /etc/shadow. # pwconv
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001475
- Vuln IDs
-
- V-22348
- Rule IDs
-
- SV-26447r1_rule
Checks: C-27519r1_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-23639r1_fix
Edit /etc/group and change the password field to an exclamation point (!) to lock the group password.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN001490
- Vuln IDs
-
- V-22350
- Rule IDs
-
- SV-26451r1_rule
Checks: C-27521r1_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-23643r1_fix
Remove the extended ACL from the file. # chmod A- [user home directory with extended ACL]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001550
- Vuln IDs
-
- V-22351
- Rule IDs
-
- SV-39877r1_rule
Checks: C-38880r2_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 < users home directory > -exec ls -lLd \; 3. Obtain the list of GIDs associated with the user's account. # id < user name > 4. Check the GID lists. If there are GIDs in the file list not present in the user list, this is a finding.
Fix: F-34023r1_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 >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001570
- Vuln IDs
-
- V-22352
- Rule IDs
-
- SV-26456r1_rule
Checks: C-38883r1_chk
Check the contents of interactive user's home directories (99 < UID < 60000) for files with extended ACLs. # ls -alLR < users home dir > If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23648r1_fix
Remove the extended ACL from the file. # chmod A- [user file with extended ACL]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001590
- Vuln IDs
-
- V-22353
- Rule IDs
-
- SV-26460r1_rule
Checks: C-27524r1_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-23652r1_fix
Remove the extended ACL from the file. # chmod A- [run control script with extended ACL]
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001605
- Vuln IDs
-
- V-22354
- Rule IDs
-
- SV-26462r2_rule
Checks: C-38717r2_chk
Verify run control scripts' library search paths. # find /etc/rc* /etc/init.d -type f -print | xargs grep LD_LIBRARY_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 other than "$PATH", it is a relative path, and this is a finding.
Fix: F-23654r1_fix
Edit the run control script and remove the relative path entry from the library search path variable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001610
- Vuln IDs
-
- V-22355
- Rule IDs
-
- SV-26464r2_rule
Checks: C-38718r2_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 other than "$PATH", it is a relative path, and this is a finding.
Fix: F-23655r1_fix
Edit the run control script and remove the relative path entry from the library preload variable.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001730
- Vuln IDs
-
- V-22356
- Rule IDs
-
- SV-26471r1_rule
Checks: C-27536r1_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-23700r1_fix
Remove the extended ACL from the file. # chmod A- [global initialization file with extended ACL]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001810
- Vuln IDs
-
- V-22357
- Rule IDs
-
- SV-26475r1_rule
Checks: C-27537r1_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-23704r1_fix
Remove the extended ACL from the file. # chmod A- [skeleton file with extended ACL]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001830
- Vuln IDs
-
- V-22358
- Rule IDs
-
- SV-39901r2_rule
Checks: C-38922r2_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-34059r1_fix
Change the group owner of the skeleton file to root. Procedure: # chgrp <group> /etc/skel/[skeleton file]
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001845
- Vuln IDs
-
- V-22359
- Rule IDs
-
- SV-26478r2_rule
Checks: C-27540r2_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 other than "$PATH", it is a relative path, and this is a finding.
Fix: F-23707r1_fix
Edit the global initialization file and remove the relative path entry from the library search path variable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001850
- Vuln IDs
-
- V-22360
- Rule IDs
-
- SV-39839r2_rule
Checks: C-38719r2_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 other than "$PATH", it is a relative path, and this is a finding.
Fix: F-26202r1_fix
Edit the global initialization file(s) and remove the relative path entry from the library preload list variable.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001870
- Vuln IDs
-
- V-22361
- Rule IDs
-
- SV-37101r1_rule
Checks: C-35860r2_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 /<usershomedirectory>/.login # ls -al /<usershomedirectory>/.cshrc # ls -al /<usershomedirectory>/.logout # ls -al /<usershomedirectory>/.profile # ls -al /<usershomedirectory>/.bash_profile # ls -al /<usershomedirectory>/.bashrc # ls -al /<usershomedirectory>/.bash_logout # ls -al /<usershomedirectory>/.env # ls -al /<usershomedirectory>/.dtprofile # ls -al /<usershomedirectory>/.dispatch # ls -al /<usershomedirectory>/.emacs # ls -al /<usershomedirectory>/.exrc # find /<usershomedirectory>/.dt ! -fstype nfs ! -group <primary_group> -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-30184r1_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]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN001890
- Vuln IDs
-
- V-22362
- Rule IDs
-
- SV-26484r1_rule
Checks: C-27544r1_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-23712r1_fix
Remove the extended ACL from the file. # chmod A- [local initialization file with extended ACL]
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001901
- Vuln IDs
-
- V-22363
- Rule IDs
-
- SV-26486r3_rule
Checks: C-27545r3_chk
NOTE: This command should be used in the BASH shell. Verify local initialization files have library search path containing only absolute 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 other than "$PATH", it is a relative path, and this is a finding.
Fix: F-23714r1_fix
Edit the local initialization file and remove the relative path entry from the library search path variable.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN001902
- Vuln IDs
-
- V-22364
- Rule IDs
-
- SV-26488r3_rule
Checks: C-27547r3_chk
NOTE: The following must be done in the BASH shell Verify local initialization files have library preload list containing only absolute 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 other than "$PATH", it is a relative path, and this is a finding.
Fix: F-23715r1_fix
Edit the local initialization file and remove the relative path entry from the library preload variable.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002210
- Vuln IDs
-
- V-22365
- Rule IDs
-
- SV-39902r1_rule
Checks: C-38923r1_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-34060r1_fix
Change the group-owner of the shell to root, bin, or sys. Procedure: # chgrp root <shell>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002230
- Vuln IDs
-
- V-22366
- Rule IDs
-
- SV-26492r1_rule
Checks: C-27549r1_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-23721r1_fix
Remove the extended ACL from the file. # chmod A- [shell]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002330
- Vuln IDs
-
- V-22367
- Rule IDs
-
- SV-26496r1_rule
Checks: C-27551r1_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-23725r1_fix
Remove the extended ACL from the file. # chmod A- /dev/audio
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000163
- Version
- GEN002710
- Vuln IDs
-
- V-22369
- Rule IDs
-
- SV-26502r1_rule
Checks: C-27556r1_chk
Check the audit configuration to determine the location of the system audit log files. # more /etc/security/audit_control Check the system audit log files for extended ACLs. # ls -la [audit log dir] If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23737r1_fix
Remove the extended ACL from the file. # chmod A- [audit file]
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002715
- Vuln IDs
-
- V-22370
- Rule IDs
-
- SV-26505r1_rule
Checks: C-27559r1_chk
Verify the audit tool executables are owned by root. # ls -l /usr/sbin/auditd /usr/sbin/audit /usr/sbin/bsmrecord /usr/sbin/auditreduce /usr/sbin/praudit /usr/sbin/auditconfig If any listed file is not owned by root, this is a finding.
Fix: F-23742r1_fix
Change the owner of the audit tool executable to root. # chown root [audit tool executable]
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002716
- Vuln IDs
-
- V-22371
- Rule IDs
-
- SV-26508r1_rule
Checks: C-27562r1_chk
Verify the audit tool executables are group-owned by root, bin, or sys. Procedure: # ls -lL /usr/sbin/auditd /usr/sbin/audit /usr/sbin/bsmrecord /usr/sbin/auditreduce /usr/sbin/praudit /usr/sbin/auditconfig If any listed file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-34061r1_fix
Change the group-owner of the audit tool executable to root, bin, or sys. Procedure: # chgrp root <audit tool executable>
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002717
- Vuln IDs
-
- V-22372
- Rule IDs
-
- SV-26511r1_rule
Checks: C-27565r1_chk
Check the mode of audit tool executables. # ls -l /usr/sbin/auditd /usr/sbin/audit /usr/sbin/bsmrecord /usr/sbin/auditreduce /usr/sbin/praudit /usr/sbin/auditconfig If any listed file has a mode more permissive than 0750, this is a finding.
Fix: F-23745r1_fix
Change the mode of the audit tool executable to 0750, or less permissive. # chmod 0750 [audit tool executable]
- RMF Control
- AU-9
- Severity
- L
- CCI
- CCI-001493
- Version
- GEN002718
- Vuln IDs
-
- V-22373
- Rule IDs
-
- SV-26515r1_rule
Checks: C-27568r1_chk
Check the permissions of audit tool executables. # ls -l /usr/sbin/auditd /usr/sbin/audit /usr/sbin/bsmrecord /usr/sbin/auditreduce /usr/sbin/praudit /usr/sbin/auditconfig If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23751r1_fix
Remove the extended ACL from the file. # chmod A- [audit file]
- RMF Control
- AU-5
- Severity
- L
- CCI
- CCI-000139
- Version
- GEN002719
- Vuln IDs
-
- V-22374
- Rule IDs
-
- SV-40562r1_rule
Checks: C-39326r1_chk
Verify the presence of an audit_warn entry in /etc/mail/aliases. # grep audit_warn /etc/mail/aliases If there is no audit_warn entry in /etc/mail/aliases, this is a finding.
Fix: F-34432r1_fix
Add an audit_warn alias to /etc/mail/aliases that will forward to designated system administrator(s). # vi /etc/mail/aliases Put the updated aliases file into service. # newaliases
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-000143
- Version
- GEN002730
- Vuln IDs
-
- V-22375
- Rule IDs
-
- SV-40564r1_rule
Checks: C-39347r1_chk
Verify the presence of an audit_warn entry in /etc/mail/aliases. # grep audit_warn /etc/mail/aliases If there is no audit_warn entry in /etc/mail/aliases, this is a finding. Verify the minfree parameter in /etc/security/audit_control. # egrep '^minfree:' /etc/security/audit_control If the minfree parameter is set to zero or not set at all, this is a finding.
Fix: F-34459r1_fix
If necessary, add an audit_warn alias to /etc/mail/aliases that will forward to designated system administrator(s). # vi /etc/mail/aliases Put the updated aliases file into service. # newaliases If necessary, add or update the minfree: parameter in /etc/security/audit_control. # vi /etc/security/audit_control Ensure the minfree value is greater than zero and less than 100.
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-000018
- Version
- GEN002750
- Vuln IDs
-
- V-22376
- Rule IDs
-
- SV-40605r1_rule
Checks: C-39351r1_chk
Check the system's audit configuration. # grep ua /etc/security/audit_control If the ua flag is not set, and both the +ua and -ua flags are not set, this is a finding. If the ua naflag is not set, and both the +ua and -ua naflags are not set, this is a finding.
Fix: F-34462r1_fix
Edit /etc/security/audit_control and add ua to the flags list and naflags list. Refresh auditd. # svcadm refresh auditd
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-001403
- Version
- GEN002751
- Vuln IDs
-
- V-22377
- Rule IDs
-
- SV-40607r1_rule
Checks: C-39351r1_chk
Check the system's audit configuration. # grep ua /etc/security/audit_control If the ua flag is not set, and both the +ua and -ua flags are not set, this is a finding. If the ua naflag is not set, and both the +ua and -ua naflags are not set, this is a finding.
Fix: F-34462r1_fix
Edit /etc/security/audit_control and add ua to the flags list and naflags list. Refresh auditd. # svcadm refresh auditd
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-001404
- Version
- GEN002752
- Vuln IDs
-
- V-22378
- Rule IDs
-
- SV-40610r1_rule
Checks: C-39351r1_chk
Check the system's audit configuration. # grep ua /etc/security/audit_control If the ua flag is not set, and both the +ua and -ua flags are not set, this is a finding. If the ua naflag is not set, and both the +ua and -ua naflags are not set, this is a finding.
Fix: F-34462r1_fix
Edit /etc/security/audit_control and add ua to the flags list and naflags list. Refresh auditd. # svcadm refresh auditd
- RMF Control
- AC-2
- Severity
- L
- CCI
- CCI-001405
- Version
- GEN002753
- Vuln IDs
-
- V-22382
- Rule IDs
-
- SV-40611r1_rule
Checks: C-39351r1_chk
Check the system's audit configuration. # grep ua /etc/security/audit_control If the ua flag is not set, and both the +ua and -ua flags are not set, this is a finding. If the ua naflag is not set, and both the +ua and -ua naflags are not set, this is a finding.
Fix: F-34462r1_fix
Edit /etc/security/audit_control and add ua to the flags list and naflags list. Refresh auditd. # svcadm refresh auditd
- RMF Control
- AU-2
- Severity
- M
- CCI
- CCI-000126
- Version
- GEN002825
- Vuln IDs
-
- V-22383
- Rule IDs
-
- SV-26524r1_rule
Checks: C-27577r1_chk
Check /etc/security/audit_control file. # grep flags /etc/security/audit_control If the as element is missing from the flags line, this is a finding.
Fix: F-23766r1_fix
Edit /etc/security/audit_control and add the as flag to the flag parameter.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN002990
- Vuln IDs
-
- V-22384
- Rule IDs
-
- SV-26528r1_rule
Checks: C-27579r1_chk
Check the permissions of the cron.allow file. # ls -l /etc/cron.allow If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23770r1_fix
Remove the extended ACL from the file. # chmod A- /etc/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003050
- Vuln IDs
-
- V-22385
- Rule IDs
-
- SV-41044r1_rule
Checks: C-39665r1_chk
Check the group ownership of the crontab files. # ls -lL /var/spool/cron/crontabs/ If the group owner is not root, sys, or the crontab owner's primary group, this is a finding.
Fix: F-34811r1_fix
Change the group owner of the crontab file to root, sys, or the crontab's primary group. Procedure: # chgrp root [crontab file]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003090
- Vuln IDs
-
- V-22386
- Rule IDs
-
- SV-26534r1_rule
Checks: C-27583r1_chk
Check the permissions of the crontab files. # ls -lL /var/spool/cron/crontabs/ If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23775r1_fix
Remove the extended ACL from the file. # chmod A- [crontab file]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003110
- Vuln IDs
-
- V-22387
- Rule IDs
-
- SV-26538r1_rule
Checks: C-27585r1_chk
Check the permissions of the crontab directories. # ls -ld /var/spool/cron/crontabs/ If the permissions include a "+", the directory has an extended ACL and this is a finding.
Fix: F-23779r1_fix
Remove the extended ACL from the directory. # chmod A- /var/spool/cron/crontabs/
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003190
- Vuln IDs
-
- V-22388
- Rule IDs
-
- SV-26542r1_rule
Checks: C-27587r1_chk
Check the permissions of the file. # ls -lL /var/cron/log If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23786r1_fix
Remove the extended ACL from the file. # chmod A- /var/cron/log
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003210
- Vuln IDs
-
- V-22389
- Rule IDs
-
- SV-26546r1_rule
Checks: C-27590r1_chk
Check the permissions of the file. # ls -lL /etc/cron.d/cron.deny If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23790r1_fix
Remove the extended ACL from the file. # chmod A- /etc/cron.d/cron.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003245
- Vuln IDs
-
- V-22390
- Rule IDs
-
- SV-26550r1_rule
Checks: C-27593r1_chk
Check the permissions of the file. # ls -lL /etc/cron.d/at.allow If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23794r1_fix
Remove the extended ACL from the file. # chmod A- /etc/cron.d/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003250
- Vuln IDs
-
- V-22391
- Rule IDs
-
- SV-26553r1_rule
Checks: C-27596r1_chk
Check the group ownership of the file. Procedure: # ls -lL /etc/cron.d/cron.allow If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-23797r1_fix
Change the group ownership of the file. Procedure: # chgrp root /etc/cron.d/cron.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003252
- Vuln IDs
-
- V-22392
- Rule IDs
-
- SV-26556r1_rule
Checks: C-27599r1_chk
Check the permissions of the file. # ls -lL /etc/cron.d/at.deny If the file has a mode more permissive than 0600, this is a finding.
Fix: F-23800r1_fix
Change the mode of the file. # chmod 0600 /etc/cron.d/at.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003255
- Vuln IDs
-
- V-22393
- Rule IDs
-
- SV-26560r1_rule
Checks: C-27602r1_chk
Check the permissions of the file. # ls -lL /etc/cron.d/at.deny If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23804r1_fix
Remove the extended ACL from the file. # chmod A- /etc/cron.d/at.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003270
- Vuln IDs
-
- V-22394
- Rule IDs
-
- SV-26563r1_rule
Checks: C-27605r1_chk
Check the group ownership of the file. Procedure: # ls -lL /etc/cron.d/cron.deny If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-23807r1_fix
Change the group ownership of the file to root, sys, or bin. Procedure: # chgrp root /etc/cron.d/cron.deny
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003410
- Vuln IDs
-
- V-22395
- Rule IDs
-
- SV-26566r1_rule
Checks: C-39269r1_chk
Check the permissions of the directory. # ls -lLd /var/spool/cron/atjobs If the permissions include a "+", the directory has an extended ACL and this is a finding.
Fix: F-23812r1_fix
Remove the extended ACL from the file. # chmod A- /var/spool/cron/atjobs
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003430
- Vuln IDs
-
- V-22396
- Rule IDs
-
- SV-40414r1_rule
Checks: C-39271r1_chk
Check the group ownership of the "at" directory. Procedure: # ls -lLd /var/spool/cron/atjobs If the "at" directory is not group-owned by root, bin, or sys, this is a finding.
Fix: F-34376r1_fix
Change the group ownership of the "at" directory to root, bin, or sys. Procedure: # chgrp sys /var/spool/cron/atjobs
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003470
- Vuln IDs
-
- V-22397
- Rule IDs
-
- SV-26570r1_rule
Checks: C-27617r1_chk
Check the group ownership of the file. Procedure: # ls -lL /etc/cron.d/at.allow If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-23816r1_fix
Change the group ownership of the file. Procedure: # chgrp root /etc/cron.d/at.allow
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003490
- Vuln IDs
-
- V-22398
- Rule IDs
-
- SV-26573r1_rule
Checks: C-27620r1_chk
Check the group ownership of the file. Procedure: # ls -lL /etc/cron.d/at.deny If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-23819r1_fix
Change the group ownership of the at.deny file to root, bin, or sys. Procedure: # chgrp root /etc/cron.d/at.deny
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003501
- Vuln IDs
-
- V-22399
- Rule IDs
-
- SV-26576r2_rule
Checks: C-27623r1_chk
Verify a directory is defined for process core dumps. # grep COREADM_GLOB_PATTERN /etc/coreadm.conf If the parameter is not an absolute path (does not start with a slash [/]), this is a finding.
Fix: F-23823r2_fix
Change the core file pattern. # coreadm -g /var/core/core.%f.%p Then: # coreadm -u In order to force a reload of the configuration.
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003502
- Vuln IDs
-
- V-22400
- Rule IDs
-
- SV-26579r1_rule
Checks: C-27626r1_chk
Check the defined directory for process core dumps. # coreadm | grep "global core file pattern" OR # grep COREADM_GLOB_PATTERN /etc/coreadm.conf Check the ownership of the directory. # ls -lLd [core file directory] If the directory is not owned by root, this is a finding.
Fix: F-23825r1_fix
Change the owner of the core file directory. # chown root [core file directory]
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003503
- Vuln IDs
-
- V-22401
- Rule IDs
-
- SV-26582r2_rule
Checks: C-27629r2_chk
Check the defined directory for process core dumps. # coreadm | grep "global core file pattern" OR # grep COREADM_GLOB_PATTERN /etc/coreadm.conf Check the group ownership of the directory. # ls -lLd [core file directory] If the directory is not group-owned by root, bin, or sys, this is a finding.
Fix: F-23826r1_fix
Change the group-owner of the core file directory. # chgrp root [core file directory]
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003504
- Vuln IDs
-
- V-22402
- Rule IDs
-
- SV-26596r1_rule
Checks: C-27636r1_chk
Check the defined directory for process core dumps. # coreadm | grep "global core file pattern" OR # grep COREADM_GLOB_PATTERN /etc/coreadm.conf Check the permissions of the directory. # ls -lLd [core file directory] If the directory has a mode more permissive than 0700, this is a finding.
Fix: F-23838r1_fix
Change the mode of the core file directory. # chmod 0700 [core file directory]
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003505
- Vuln IDs
-
- V-22403
- Rule IDs
-
- SV-26602r1_rule
Checks: C-27639r1_chk
Check the defined directory for process core dumps. # coreadm | grep "global core file pattern" OR # grep COREADM_GLOB_PATTERN /etc/coreadm.conf Check the permissions of the directory. # ls -lLd [core file directory] If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23843r1_fix
Remove the extended ACL from the directory. # chmod A- [core file directory]
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN003510
- Vuln IDs
-
- V-22404
- Rule IDs
-
- SV-26605r1_rule
Checks: C-27642r1_chk
Verify savecore is not used. # dumpadm | grep 'Savecore enabled' If the value is true, this is a finding. OR # grep DUMPADM_ENABLE /etc/dumpadm.conf If the value is yes, this is a finding.
Fix: F-23846r1_fix
Disable savecore. # dumpadm -n
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003521
- Vuln IDs
-
- V-22405
- Rule IDs
-
- SV-26610r1_rule
Checks: C-27648r1_chk
Determine the kernel core dump data directory. # dumpadm | grep "Savecore directory" OR # grep DUMPADM_SAVDIR /etc/dumpadm.conf Check ownership of the core dump data directory. # ls -l [savecore directory] If the directory is not group-owned by root, this is a finding.
Fix: F-23851r1_fix
Change the group-owner of the kernel core dump data directory. # chgrp root [kernel core dump data directory]
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003522
- Vuln IDs
-
- V-22406
- Rule IDs
-
- SV-26614r1_rule
Checks: C-27652r1_chk
Determine the kernel core dump data directory. # dumpadm | grep "Savecore directory" OR # grep DUMPADM_SAVDIR /etc/dumpadm.conf Check the permissions of the kernel core dump data directory. # ls -l [savecore directory] If the directory has a mode more permissive than 0700, this is a finding.
Fix: F-23855r1_fix
Change the group-owner of the kernel core dump data directory. # chmod 0700 [kernel core dump data directory]
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN003523
- Vuln IDs
-
- V-22407
- Rule IDs
-
- SV-26618r1_rule
Checks: C-27656r1_chk
Determine the kernel core dump data directory. # dumpadm | grep "Savecore directory" OR # grep DUMPADM_SAVDIR /etc/dumpadm.conf Check the kernel core dump data directory permissions. # ls -ld [savecore directory] If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23861r1_fix
Remove the extended ACL from the file. # chmod A- [kernel core dump directory]
- RMF Control
- AC-4
- Severity
- L
- CCI
- CCI-001551
- Version
- GEN003602
- Vuln IDs
-
- V-22409
- Rule IDs
-
- SV-26621r2_rule
Checks: C-27659r2_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not respond to ICMP timestamp requests. # ndd /dev/ip ip_respond_to_timestamp If the result is not 0, this is a finding.
Fix: F-23864r1_fix
Disable ICMP timestamp responses on the system. # ndd -set /dev/ip ip_respond_to_timestamp 0 Also add this command to a system startup script.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003603
- Vuln IDs
-
- V-22410
- Rule IDs
-
- SV-26622r2_rule
Checks: C-27660r2_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not respond to ICMP ECHO_REQUESTs set to broadcast addresses. # ndd /dev/ip ip_respond_to_echo_broadcast If the result is not 0, this is a finding.
Fix: F-23865r1_fix
Configure the system to not respond to ICMP ECHO_REQUESTs sent to broadcast addresses. # ndd -set /dev/ip ip_respond_to_echo_broadcast 0 Also add this command to a system startup script.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003604
- Vuln IDs
-
- V-22411
- Rule IDs
-
- SV-26624r2_rule
Checks: C-27662r2_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not respond to ICMP timestamp requests set to broadcast addresses. # ndd /dev/ip ip_respond_to_echo_broadcast If the result is not 0, this is a finding.
Fix: F-23867r1_fix
Configure the system to not respond to ICMP timestamp requests sent to broadcast addresses. # ndd -set /dev/ip ip_respond_to_echo_broadcast 0 Also add this command to a system startup script.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003605
- Vuln IDs
-
- V-22412
- Rule IDs
-
- SV-26626r2_rule
Checks: C-27663r2_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not apply reversed source routing to TCP responses. # ndd /dev/tcp tcp_rev_src_routes If the result is not 0, this is a finding.
Fix: F-23868r1_fix
Configure the system to not apply reversed source routing to TCP responses. # ndd -set /dev/tcp tcp_rev_src_routes 0 Also add this command to a system startup script.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003606
- Vuln IDs
-
- V-22413
- Rule IDs
-
- SV-29709r1_rule
Checks: C-30049r1_chk
Check the system for an IPF rule blocking outgoing source-routed packets. Procedure: # ipfstat -o Examine the list for rules such as: block out log quick all with opt lsrr block out log quick all with opt ssrr If the listed rules do not block both lsrr and ssrr options, this is a finding.
Fix: F-26887r1_fix
Edit /etc/ipf/ipf.conf and add rules to block outgoing source-routed packets, such as: block out log quick all with opt lsrr block out log quick all with opt ssrr Reload the IPF rules. Procedure: # ipf -Fa -A -f /etc/ipf/ipf.conf
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003607
- Vuln IDs
-
- V-22414
- Rule IDs
-
- SV-29711r2_rule
Checks: C-30050r2_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces check the system for an IPF rule blocking incoming source-routed packets. Procedure: # ipfstat -i Examine the list for rules such as: block in log quick all with opt lsrr block in log quick all with opt ssrr If the listed rules do not block incoming traffic with both lsrr and ssrr options, this is a finding.
Fix: F-26888r1_fix
Edit /etc/ipf/ipf.conf and add rules to block incoming source-routed packets, such as: block in log quick all with opt lsrr block in log quick all with opt ssrr Reload the IPF rules. Procedure: # ipf -Fa -A -f /etc/ipf/ipf.conf
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003608
- Vuln IDs
-
- V-22415
- Rule IDs
-
- SV-29603r2_rule
Checks: C-30044r2_chk
Determine if the system has non-local published ARP entries. Procedure: # arp -a If any entries have the flag P and no flag L, they are non-local published entries, and this is a finding.
Fix: F-26878r1_fix
Remove non-local published ARP entries from the system. Procedure: # arp -d <host> Check system initialization files for any commands creating published ARP entries (such as "arp -s <host> <ether> pub" or "arp -f") and removing them.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-001503
- Version
- GEN003609
- Vuln IDs
-
- V-22416
- Rule IDs
-
- SV-26630r2_rule
Checks: C-27667r2_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not accept IPv4 ICMP redirect messages. Procedure: # ndd -get /dev/ip ip_ignore_redirect If the result is not 1, this is a finding.
Fix: F-23873r1_fix
Configure the system to not accept IPv4 ICMP redirect messages. Procedure: # ndd -set /dev/ip ip_ignore_redirect 1 This command must also be added to a system startup script.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003610
- Vuln IDs
-
- V-22417
- Rule IDs
-
- SV-26632r2_rule
Checks: C-27669r2_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces verify the system does not send IPv4 ICMP redirect messages. Procedure: # ndd /dev/ip ip_send_redirects If the result is not 0, this is a finding.
Fix: F-23875r1_fix
Configure the system to not send IPv4 ICMP redirect messages. Procedure: # ndd -set /dev/ip ip_send_redirects 0 Also add this command to a system startup script.
- RMF Control
- AU-2
- Severity
- L
- CCI
- CCI-000126
- Version
- GEN003611
- Vuln IDs
-
- V-22418
- Rule IDs
-
- SV-29773r2_rule
Checks: C-30058r2_chk
If the system is not a global zone, this vulnerability is not applicable. Determine if the system is configured to log martian packets. Examine the IPF rules on the system. Procedure: # ipfstat -i There must be rules logging inbound traffic containing invalid source addresses, which minimally include the system's own addresses and broadcast addresses for attached subnets. If such rules do not exist, this is a finding.
Fix: F-26893r1_fix
Configure the system to log martian packets using IPF. Add rules logging inbound traffic containing invalid source addresses, which minimally include the system's own addresses and broadcast addresses for attached subnets. For example, consider a system with a single network connection having IP address 192.168.1.10 with a local subnet broadcast address of 192.168.1.255. Packets with source addresses of 192.168.1.10 and 192.168.1.255 must be logged if received by the system from the network connection. Edit /etc/ipf/ipf.conf and add the following rules, substituting local addresses and interface names: block in log quick on ce0 from 192.168.1.10 to any block in log quick on ce0 from 192.168.1.255 to any Reload the IPF rules. Procedure: # ipf -Fa -A -f /etc/ipf/ipf.conf
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN003619
- Vuln IDs
-
- V-22421
- Rule IDs
-
- SV-42308r1_rule
Checks: C-40638r1_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-35941r1_fix
Remove the network bridging software and configuration from the system.
- RMF Control
- CP-10
- Severity
- L
- CCI
- CCI-000553
- Version
- GEN003650
- Vuln IDs
-
- V-22422
- Rule IDs
-
- SV-26638r3_rule
Checks: C-27675r3_chk
Verify local file systems use journaling or another mechanism ensuring file system consistency. Procedure: # mount -v | grep '^/dev/' | egrep -v '(logging|vxfs|zfs|devfs)' | grep -v /dev/fd If a mount is listed, this is a finding.
Fix: F-23880r1_fix
Convert local file systems to use journaling or another mechanism ensuring file system consistency.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003730
- Vuln IDs
-
- V-22423
- Rule IDs
-
- SV-39884r1_rule
Checks: C-38908r1_chk
Check the group ownership of the inetd.conf file. Procedure: # ls -alL /etc/inet/inetd.conf If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-34042r1_fix
Change the group ownership of the inetd.conf file. Procedure: # chgrp sys /etc/inet/inetd.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003745
- Vuln IDs
-
- V-22424
- Rule IDs
-
- SV-26653r1_rule
Checks: C-39295r1_chk
Check the permissions of the inetd configuration file. # ls -lL /etc/inet/inetd.conf If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23894r1_fix
Remove the extended ACL from the file. # chmod A- /etc/inet/inetd.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003770
- Vuln IDs
-
- V-22427
- Rule IDs
-
- SV-39903r1_rule
Checks: C-38924r1_chk
Check the group ownership of the services file. Procedure: # ls -lL /etc/services If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-34062r1_fix
Change the group-owner of the services file. Procedure: # chgrp root /etc/services
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003790
- Vuln IDs
-
- V-22428
- Rule IDs
-
- SV-26660r1_rule
Checks: C-27693r1_chk
Check the permissions of the /etc/services file. # ls -lL /etc/services If the permissions include a "+", the file has an extended ACL, this is a finding.
Fix: F-23902r1_fix
Remove the extended ACL from the file. # chmod A- /etc/services
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN003810
- Vuln IDs
-
- V-22429
- Rule IDs
-
- SV-26664r1_rule
Checks: C-27696r1_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-23906r1_fix
Disable the portmap service. # svcadm disable network/rpc/bind
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003815
- Vuln IDs
-
- V-22430
- Rule IDs
-
- SV-40810r1_rule
Checks: C-39529r2_chk
If the system needs the portmap service to operate, this is not applicable. The rpcbind program is part of a core Solaris package and cannot be removed. Verify the permissions on the rpcbind file. # ls -lL /usr/sbin/rpcbind If the rpcbind service is not required and the rpcbind file has non-zero permissions, this is a finding.
Fix: F-34662r1_fix
Remove all permissions from the rpcbind file. Procedure: # chmod 0000 /usr/sbin/rpcbind
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003825
- Vuln IDs
-
- V-22431
- Rule IDs
-
- SV-26668r1_rule
Checks: C-27700r1_chk
Check if the SUNWrcmdr package is installed. Procedure: # pkginfo SUNWrcmdr If the package is installed, this is a finding.
Fix: F-23910r1_fix
Remove the SUNWrcmdr package. Procedure: # pkgrm SUNWrcmdr
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- GEN003830
- Vuln IDs
-
- V-22432
- Rule IDs
-
- SV-39863r1_rule
Checks: C-38868r1_chk
Determine if the rlogind service is running. # svcs rlogin If the rlogin service is enabled, this is a finding.
Fix: F-34007r1_fix
Disable the rlogind service. # svcadm disable rlogin # svcadm refresh inetd
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003835
- Vuln IDs
-
- V-22433
- Rule IDs
-
- SV-26670r1_rule
Checks: C-27700r1_chk
Check if the SUNWrcmdr package is installed. Procedure: # pkginfo SUNWrcmdr If the package is installed, this is a finding.
Fix: F-23910r1_fix
Remove the SUNWrcmdr package. Procedure: # pkgrm SUNWrcmdr
- RMF Control
- CM-2
- Severity
- M
- CCI
- CCI-000305
- Version
- GEN003845
- Vuln IDs
-
- V-22434
- Rule IDs
-
- SV-26674r1_rule
Checks: C-27700r1_chk
Check if the SUNWrcmdr package is installed. Procedure: # pkginfo SUNWrcmdr If the package is installed, this is a finding.
Fix: F-23910r1_fix
Remove the SUNWrcmdr package. Procedure: # pkgrm SUNWrcmdr
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003930
- Vuln IDs
-
- V-22435
- Rule IDs
-
- SV-37456r2_rule
Checks: C-36124r3_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-34394r3_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
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN003950
- Vuln IDs
-
- V-22436
- Rule IDs
-
- SV-26678r2_rule
Checks: C-38687r2_chk
Check the permissions of the print service configuration files. Procedure: # ls -lL /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If the permissions on any file include a '+', the file has an extended ACL and this is a finding.
Fix: F-23917r2_fix
Remove the extended ACLs from the files. # chmod A- /etc/apache/httpd-standalone-ipp.conf /etc/printers.conf /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004010
- Vuln IDs
-
- V-22437
- Rule IDs
-
- SV-26682r1_rule
Checks: C-27705r2_chk
Check the permissions of the /usr/sbin/traceroute file. # ls -lL /usr/contrib/bin/traceroute If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23921r1_fix
Remove the extended ACL from the file. # chmod A- /usr/sbin/traceroute
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004370
- Vuln IDs
-
- V-22438
- Rule IDs
-
- SV-37458r1_rule
Checks: C-36126r1_chk
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 file is not group-owned by root, sys, smmsp, or bin, this is a finding.
Fix: F-34506r1_fix
Change the group owner of the /etc/mail/aliases files. Procedure: # chgrp bin /etc/mail/aliases # chgrp smmsp /etc/mail/aliases.db
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004390
- Vuln IDs
-
- V-22439
- Rule IDs
-
- SV-26687r1_rule
Checks: C-39386r1_chk
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 permissions 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 permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23928r1_fix
Remove the extended ACL from the files. # chmod A- /etc/mail/aliases /etc/mail/aliases.db
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004410
- Vuln IDs
-
- V-22440
- Rule IDs
-
- SV-39904r1_rule
Checks: C-38925r1_chk
Examine the contents of the /etc/mail/aliases file. For each file referenced, check the group ownership of the file. Procedure: # ls -lL <file referenced from aliases> If the group owner of any file is not root, bin, or sys, this is a finding.
Fix: F-34063r1_fix
Change the group ownership of the file referenced from /etc/mail/aliases. Procedure: # chgrp root <file referenced from aliases>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004430
- Vuln IDs
-
- V-22441
- Rule IDs
-
- SV-26696r1_rule
Checks: C-27709r1_chk
Examine the contents of the /etc/mail/aliases file. For each file referenced, check the permissions of the file. # ls -lL [file referenced from aliases] If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23936r1_fix
Remove the extended ACL from the file. # chmod A- [file referenced from aliases]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004510
- Vuln IDs
-
- V-22442
- Rule IDs
-
- SV-26700r1_rule
Checks: C-27710r1_chk
Examine /etc/syslog.conf and determine the log file(s) receiving logs for mail.crit, mail.debug, mail.*, or *.crit. Check the permissions on these log files. # ls -lL [log file] If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23941r1_fix
Remove the extended ACL from the file. # chmod A- [log file]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004930
- Vuln IDs
-
- V-22444
- Rule IDs
-
- SV-39905r1_rule
Checks: C-38927r1_chk
Check the group ownership of the ftpusers file. Procedure: # ls -lL /etc/ftpd/ftpusers /etc/vsftpd.ftpusers /etc/vsftpd/ftpusers If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-34064r1_fix
Change the group owner of the ftpusers file. Procedure: # chgrp root /etc/ftpusers
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN004950
- Vuln IDs
-
- V-22445
- Rule IDs
-
- SV-26707r1_rule
Checks: C-39539r1_chk
Check the permissions of the /etc/ftpd/ftpusers file. # ls -lL /etc/ftpd/ftpusers If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23948r1_fix
Remove the extended ACL from the file. # chmod A- /etc/ftpd/ftpusers
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005190
- Vuln IDs
-
- V-22446
- Rule IDs
-
- SV-26711r1_rule
Checks: C-27716r1_chk
Check the file permissions for the .Xauthority files. # ls -lL .Xauthority If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23952r1_fix
Remove the extended ACL from the file. # chmod A- .Xauthority
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001435
- Version
- GEN005305
- Vuln IDs
-
- V-22447
- Rule IDs
-
- SV-26715r1_rule
Checks: C-27724r1_chk
Verify the SNMP daemon is not configured to use the v1 or v2c security models. # egrep '(v1|v2c|community|com2sec)' /etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf | grep -v '^#' If any configuration is found, this is a finding.
Fix: F-23956r1_fix
Edit non-compliant snmpd.conf files and remove references to the v1, v2c, community, or com2sec. Restart the SNMP service. # svcadm restart svc:/application/management/sma:default
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005350
- Vuln IDs
-
- V-22450
- Rule IDs
-
- SV-26727r1_rule
Checks: C-39545r1_chk
Check the modes for all Management Information Base (MIB) files on the system. # find /etc/sma/snmp/ /etc/snmp/conf/ /var/sma_snmp/ /usr/sfw/lib/sma_snmp/ -type f | grep -i mib | egrep -v '\.conf$' | xargs ls -lL If the permissions include a "+", the file has an extended ACL, this is a finding.
Fix: F-23977r1_fix
Remove the extended ACL from the file. # chmod A- [mib file]
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005365
- Vuln IDs
-
- V-22451
- Rule IDs
-
- SV-26733r1_rule
Checks: C-27749r1_chk
Check the group ownership of the SNMP configuration files. Procedure: # ls -lL /etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf If the files are not group-owned by root, sys, or bin, this is a finding.
Fix: F-23983r1_fix
Change the group ownership of the SNMP configuration file. Procedure: # chgrp root /etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005375
- Vuln IDs
-
- V-22452
- Rule IDs
-
- SV-26737r1_rule
Checks: C-27753r1_chk
Check the permissions of the SNMP configuration files. # ls -lL/etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23987r1_fix
Remove the extended ACL from the files. # chmod A- /etc/sma/snmp/snmpd.conf /var/sma_snmp/snmpd.conf /etc/snmp/conf/snmpd.conf /usr/sfw/lib/sma_snmp/snmpd.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005390
- Vuln IDs
-
- V-22453
- Rule IDs
-
- SV-26740r1_rule
Checks: C-27755r1_chk
Check the permissions of the syslog configuration file. # ls -lL /etc/syslog.conf If the mode of the file is more permissive than 0640, this is a finding.
Fix: F-23989r1_fix
Change the permissions of the syslog configuration file. # chmod 0640 /etc/syslog.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005395
- Vuln IDs
-
- V-22454
- Rule IDs
-
- SV-26743r1_rule
Checks: C-27756r1_chk
Check the permissions of the syslog configuration file. # ls -lL /etc/syslog.conf If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-23992r1_fix
Remove the extended ACL from the file. # chmod A- /etc/syslog.conf
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-000136
- Version
- GEN005450
- Vuln IDs
-
- V-22455
- Rule IDs
-
- SV-26745r1_rule
Checks: C-27757r1_chk
Check the syslog configuration file for remote syslog servers. # grep '@' /etc/syslog.conf | grep -v '^#' If no line is returned, this is a finding.
Fix: F-23994r1_fix
Edit the syslog configuration file and add an appropriate remote syslog server.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001436
- Version
- GEN005501
- Vuln IDs
-
- V-22456
- Rule IDs
-
- SV-26749r1_rule
Checks: C-27758r1_chk
Check the SSH client configuration for allowed protocol versions. # grep -i protocol /etc/ssh/ssh_config | grep -v '^#' If the returned protocol configuration allows versions less than 2, this is a finding.
Fix: F-23999r1_fix
Edit the /etc/ssh/ssh_config file and add or edit a Protocol configuration line that does not allow versions less than 2.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000069
- Version
- GEN005504
- Vuln IDs
-
- V-22457
- Rule IDs
-
- SV-26750r1_rule
Checks: C-27759r1_chk
Check the SSH daemon configuration for listening network addresses. # grep -i Listen /etc/ssh/sshd_config | grep -v '^#' If no configuration is returned, or if a returned Listen configuration contains addresses not designated for management traffic, this is a finding.
Fix: F-24000r1_fix
Edit the SSH daemon configuration to specify listening network addresses designated for management traffic.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- GEN005505
- Vuln IDs
-
- V-22458
- Rule IDs
-
- SV-41035r1_rule
Checks: C-27760r1_chk
Check the SSH daemon configuration for allowed ciphers. # grep -i ciphers /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned ciphers list contains any cipher not starting with 3des or aes, this is a finding.
Fix: F-34800r1_fix
Edit /etc/ssh/sshd_config and change or set the Ciphers line to the following. Ciphers aes128-ctr, aes192-ctr, aes256-ctr
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005506
- Vuln IDs
-
- V-22459
- Rule IDs
-
- SV-26752r2_rule
Checks: C-27761r1_chk
Check the SSH daemon configuration for allowed ciphers. # grep -i ciphers /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned ciphers list contains any cipher ending with cbc, this is a finding.
Fix: F-24001r2_fix
Edit /etc/ssh/sshd_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the sshd_config manpage. Restart the SSH daemon.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- GEN005507
- Vuln IDs
-
- V-22460
- Rule IDs
-
- SV-26753r2_rule
Checks: C-27762r2_chk
Check the SSH daemon configuration for allowed MACs. Procedure: # grep -i macs /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned MACs list contains any MAC that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.
Fix: F-24003r2_fix
Edit the SSH daemon configuration and remove any MACs that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- GEN005510
- Vuln IDs
-
- V-22461
- Rule IDs
-
- SV-26754r1_rule
Checks: C-27763r1_chk
Check the SSH client configuration for allowed ciphers. # grep -i ciphers /etc/ssh/ssh_config | grep -v '^#' If no lines are returned, the returned ciphers list contains any cipher not starting with 3des or aes, this is a finding.
Fix: F-24004r1_fix
Edit /etc/ssh/ssh_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the ssh_config manpage.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005511
- Vuln IDs
-
- V-22462
- Rule IDs
-
- SV-26755r1_rule
Checks: C-27764r1_chk
Check the SSH client configuration for allowed ciphers. # grep -i ciphers /etc/ssh/ssh_config | grep -v '^#' If no lines are returned, or the returned ciphers list contains any cipher ending with cbc, this is a finding.
Fix: F-24004r1_fix
Edit /etc/ssh/ssh_config and add or edit the "Ciphers" line. Only include ciphers that start with "3des" or "aes" and do not contain "cbc". For the list of available ciphers for the particular version of your software, consult the ssh_config manpage.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- GEN005512
- Vuln IDs
-
- V-22463
- Rule IDs
-
- SV-26756r2_rule
Checks: C-27765r2_chk
Check the SSH client configuration for allowed MACs. Procedure: # grep -i macs /etc/ssh/ssh_config | grep -v '^#' If no lines are returned, or the returned MACs list contains any MAC that is not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list, this is a finding.
Fix: F-24006r2_fix
Edit the SSH client configuration and remove any MACs that are not hmac-sha1 or a better hmac algorithm that is on the FIPS 140-2 approved list. If necessary, add a MACs line.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005521
- Vuln IDs
-
- V-22470
- Rule IDs
-
- SV-26763r1_rule
Checks: C-27772r1_chk
Check the SSH daemon configuration for the AllowGroups setting. # grep -i AllowGroups /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, this is a finding.
Fix: F-24013r1_fix
Edit the SSH daemon configuration and add an AllowGroups directive.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005522
- Vuln IDs
-
- V-22471
- Rule IDs
-
- SV-26764r1_rule
Checks: C-27773r1_chk
Check the permissions for SSH public host key files. # ls -lL /etc/ssh/*key.pub If any file has a mode more permissive than 0644, this is a finding.
Fix: F-24014r1_fix
Change the permissions for the SSH public host key files. # chmod 0644 /etc/ssh/*key.pub
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005523
- Vuln IDs
-
- V-22472
- Rule IDs
-
- SV-26765r1_rule
Checks: C-27774r1_chk
Check the permissions for SSH private host key files. # ls -lL /etc/ssh/*key If any file has a mode more permissive than 0600, this is a finding.
Fix: F-24015r1_fix
Change the permissions for the SSH private host key files. # chmod 0600 /etc/ssh/*key
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN005524
- Vuln IDs
-
- V-22473
- Rule IDs
-
- SV-26766r1_rule
Checks: C-27775r1_chk
Ask the SA if GSSAPI authentication is used for SSH authentication to the system. If so, this is not applicable. Check the SSH daemon configuration for the GSSAPI authentication setting. # grep -i GSSAPIAuthentication /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the setting is set to yes, this is a finding.
Fix: F-24016r1_fix
Edit the SSH daemon configuration and set (add if necessary) a GSSAPIAuthentication directive set to no.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN005525
- Vuln IDs
-
- V-22474
- Rule IDs
-
- SV-26767r1_rule
Checks: C-27776r1_chk
Check the SSH clients configuration for the GSSAPI authentication setting. # grep -i GSSAPIAuthentication /etc/ssh/ssh_config | grep -v '^#' If no lines are returned, or the setting is set to yes, this is a finding.
Fix: F-24017r1_fix
Edit the SSH client configuration and set (add if necessary) a GSSAPIAuthentication directive set to no.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005536
- Vuln IDs
-
- V-22485
- Rule IDs
-
- SV-40400r1_rule
Checks: C-39266r1_chk
Check the SSH daemon configuration for the StrictModes setting. # grep -i StrictModes /etc/ssh/sshd_config | grep -v '^#' If the setting is present and not set to yes, this is a finding.
Fix: F-34371r1_fix
Edit the SSH daemon configuration and change the StrictModes setting value to yes or remove it entirely.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005538
- Vuln IDs
-
- V-22487
- Rule IDs
-
- SV-40396r1_rule
Checks: C-39265r1_chk
Check the SSH daemon configuration for the RhostsRSAAuthentication setting. # grep -i RhostsRSAAuthentication /etc/ssh/sshd_config | grep -v '^#' If the setting is set to yes, this is a finding.
Fix: F-34370r1_fix
Edit the SSH daemon configuration and change the RhostsRSAAuthentication setting value to no or remove it entirely.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005539
- Vuln IDs
-
- V-22488
- Rule IDs
-
- SV-26787r1_rule
Checks: C-27790r1_chk
Check the SSH daemon configuration for the Compression setting. # grep -i Compression /etc/ssh/sshd_config | grep -v '^#' If the setting is not present, or set to yes, this is a finding.
Fix: F-24036r1_fix
Edit the SSH daemon configuration and add or edit the Compression setting value to no or delayed.
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN005550
- Vuln IDs
-
- V-22489
- Rule IDs
-
- SV-40280r1_rule
Checks: C-39123r1_chk
Verify the SSH daemon is configured for logon warning banners. # grep -i banner /etc/ssh/sshd_config | grep -v '^#' # cat [banner file] Verify the Banner configuration line is present and the file it references contains a login warning banner. If the SSH daemon is not configured to display a logon warning banner, this is a finding.
Fix: F-24046r1_fix
Edit the SSH daemon configuration and add (or edit) a banner setting referencing a file containing a logon warning banner. DoD Login Banners: "You are accessing a U.S. Government (USG) Information System (IS) that is provided for USG-authorized use only. By using this IS (which includes any device attached to this IS), you consent to the following conditions: -The USG routinely intercepts and monitors communications on this IS for purposes including, but not limited to, penetration testing, COMSEC monitoring, network operations and defense, personnel misconduct (PM), law enforcement (LE), and counterintelligence (CI) investigations. -At any time, the USG may inspect and seize data stored on this IS. -Communications using, or data stored on, this IS are not private, are subject to routine monitoring, interception, and search, and may be disclosed or used for any USG-authorized purpose. -This IS includes security measures (e.g., authentication and access controls) to protect USG interests--not for your personal benefit or privacy. -Notwithstanding the above, using this IS does not constitute consent to PM, LE or CI investigative searching or monitoring of the content of privileged communications, or work product, related to personal representation or services by attorneys, psychotherapists, or clergy, and their assistants. Such communications and work product are private and confidential. See User Agreement for details." OR "I've read & consent to terms in IS user agreem't."
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005570
- Vuln IDs
-
- V-22490
- Rule IDs
-
- SV-26804r1_rule
Checks: C-27793r1_chk
Check for a default route for IPv6. # netstat -f inet6 -r | grep default If the system uses IPv6, and no results are returned, this is a finding.
Fix: F-24049r1_fix
Add a default route for IPv6. # route add -inet6 default <gateway> Add this command to an init script.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005610
- Vuln IDs
-
- V-22491
- Rule IDs
-
- SV-26810r1_rule
Checks: C-27798r1_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-24053r1_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.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005750
- Vuln IDs
-
- V-22492
- Rule IDs
-
- SV-26813r1_rule
Checks: C-27801r1_chk
Check the group ownership of the NFS export configuration file. Procedure: # ls -lL /etc/dfs/dfstab If the file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-24056r1_fix
Change the group ownership of the NFS export configuration file. Procedure: # chgrp root /etc/dfs/dfstab
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-000225
- Version
- GEN005770
- Vuln IDs
-
- V-22493
- Rule IDs
-
- SV-26816r1_rule
Checks: C-27803r1_chk
Check the group ownership of the NFS export configuration file. # ls -lL /etc/dfs/dfstab If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-24059r1_fix
Remove the extended ACL from the file. # chmod A- /etc/dfs/dfstab
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN005810
- Vuln IDs
-
- V-22496
- Rule IDs
-
- SV-26821r2_rule
Checks: C-39158r2_chk
List the exports. # cat /etc/dfs/dfstab OR # more /etc/dfs/sharetab For each export, check the ownership information. # ls -ldL <export> If the directory is not group-owned by root, sys, or bin this is a finding.
Fix: F-24064r1_fix
Change the group owner of the export directory. # chgrp root <export>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006150
- Vuln IDs
-
- V-22497
- Rule IDs
-
- SV-26824r2_rule
Checks: C-39150r2_chk
Check the group ownership of the Samba configuration file. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations. Procedure: # ls -lL /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-24067r2_fix
Remove the extended ACL from the file. # chmod A- /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006210
- Vuln IDs
-
- V-22498
- Rule IDs
-
- SV-26828r1_rule
Checks: C-39140r1_chk
Check the group ownership of the Samba configuration file. # ls -lL /etc/sfw/private/smbpasswd If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-24071r1_fix
Remove the extended ACL from the file. # chmod A- /etc/sfw/private/smbpasswd
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006225
- Vuln IDs
-
- V-22499
- Rule IDs
-
- SV-40295r2_rule
Checks: C-39147r2_chk
Check the security mode of the Samba configuration. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations. Procedure: # grep -i security /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If the security mode is share, this is a finding.
Fix: F-34292r2_fix
Edit the smb.conf file and change the security setting to user or another valid setting other than share.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006230
- Vuln IDs
-
- V-22500
- Rule IDs
-
- SV-40296r2_rule
Checks: C-39148r3_chk
Check the encryption setting of the Samba configuration. Procedure: # grep -i 'encrypt passwords' /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If the setting is not present, or not set to yes, this is a finding.
Fix: F-34293r2_fix
Edit the smb.conf file and change the encrypt passwords setting to yes.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006235
- Vuln IDs
-
- V-22501
- Rule IDs
-
- SV-40297r2_rule
Checks: C-39149r2_chk
Check the encryption setting for the Samba configuration. Default locations for this file include /etc, /etc/sfw, /etc/samba, and /etc/sfw/samba. If the system has Samba installed in non-standard locations, also check the smb.conf in those locations. Procedure: # grep -i 'guest ok' /etc/smb.conf /etc/sfw/smb.conf /etc/samba/smb.conf /etc/sfw/samba/smb.conf If the setting exists and is set to yes, this is a finding.
Fix: F-34294r2_fix
Edit the smb.conf file and change the guest ok setting to no.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006270
- Vuln IDs
-
- V-22502
- Rule IDs
-
- SV-26835r1_rule
Checks: C-27816r1_chk
Check the permissions of the file. # ls -lL /etc/news/hosts.nntp If the permissions include a "+", the file has an extended ACL, this is a finding.
Fix: F-24078r1_fix
Remove the extended ACL from the file. # chmod A- /etc/news/hosts.nntp
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006290
- Vuln IDs
-
- V-22503
- Rule IDs
-
- SV-26842r1_rule
Checks: C-27817r1_chk
Check the permissions of the file. # ls -lL /etc/news/hosts.nntp.nolimit If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-24086r1_fix
Remove the extended ACL from the file. # chmod A- /etc/news/hosts.nntp.nolimit
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006310
- Vuln IDs
-
- V-22504
- Rule IDs
-
- SV-26846r1_rule
Checks: C-27819r1_chk
Check the permissions of the file. # ls -lL /etc/news/nnrp.access If the permissions include a "+", the file has an extended ACL and this is a finding.
Fix: F-24090r1_fix
Remove the extended ACL from the file. # chmod A- /etc/news/nnrp.access
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN006330
- Vuln IDs
-
- V-22505
- Rule IDs
-
- SV-26850r1_rule
Checks: C-27820r1_chk
Check the permissions of the file. # ls -lL /etc/news/passwd.nntp If the permissions include a "+", the file has an extended ACL, this is a finding.
Fix: F-24094r1_fix
Remove the extended ACL from the file. # chmod A- /etc/news/passwd.nntp
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN006565
- Vuln IDs
-
- V-22506
- Rule IDs
-
- SV-26857r1_rule
Checks: C-27828r1_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-24100r1_fix
Add a cron job to run a package verification command, such as, pkgchk -n.
- RMF Control
- SI-7
- Severity
- L
- CCI
- CCI-001297
- Version
- GEN006570
- Vuln IDs
-
- V-22507
- Rule IDs
-
- SV-26858r1_rule
Checks: C-27829r2_chk
If using AIDE, verify the configuration contains the acl option for all monitored files and directories. Here is an example AIDE configuration fragment. SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256 /bin SampleRule If the acl option is not present, this is a finding. If using a different file integrity tool, check the configuration per tool documentation.
Fix: F-24101r1_fix
If using AIDE, edit the configuration and add the acl option for all monitored files and directories. If using a different file integrity tool, configure ACL checking per the tool's documentation.
- RMF Control
- SI-7
- Severity
- L
- CCI
- CCI-001297
- Version
- GEN006571
- Vuln IDs
-
- V-22508
- Rule IDs
-
- SV-26860r1_rule
Checks: C-27830r2_chk
If using AIDE, verify the configuration contains the xattrs option for all monitored files and directories. Here is an example AIDE configuration fragment. SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256 /bin SampleRule If the xattrs option is not present, this is a finding. If using a different file integrity tool, check the configuration per tool documentation.
Fix: F-24102r1_fix
If using AIDE, edit the configuration and add the xattrs option for all monitored files and directories. If using a different file integrity tool, configure extended attributes checking per the tool's documentation.
- RMF Control
- SI-7
- Severity
- L
- CCI
- CCI-001297
- Version
- GEN006575
- Vuln IDs
-
- V-22509
- Rule IDs
-
- SV-26861r1_rule
Checks: C-27831r2_chk
If using AIDE, verify the configuration contains the sha256 or sha512 options for all monitored files and directories. Here is an example AIDE configuration fragment. SampleRule = p+i+l+n+u+g+s+m+c+acl+xattrs+sha256 /bin SampleRule If either the sha256 or sha512 option is not present, this is a finding. If using a different file integrity tool, check the configuration per tool documentation.
Fix: F-24103r2_fix
If using AIDE, edit the configuration and add the sha256 or sha512 option for all monitored files and directories. If using a different file integrity tool, configure FIPS 140-2 approved cryptographic hashes per the tool's documentation.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- GEN007480
- Vuln IDs
-
- V-22530
- Rule IDs
-
- SV-26894r1_rule
Checks: C-27853r1_chk
Ask the SA if RDS is required by application software running on the system. If so, this is not applicable. Verify the RDS protocol handler is not installed. # pkginfo | grep SUNWrds If no results are returned, this is not a finding. Verify the RDS protocol handler is prevented from dynamic loading. # grep "exclude: rds" /etc/system If no result is returned, this is a finding.
Fix: F-24138r1_fix
Remove the RDS protocol handler package. # pkgrm SUNWrds OR Prevent the RDS protocol handler from dynamic loading. # echo "exclude: rds" >> /etc/system
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- GEN007540
- Vuln IDs
-
- V-22533
- Rule IDs
-
- SV-26902r1_rule
Checks: C-27858r1_chk
Verify the TIPC protocol handler package is not installed. # pkginfo | grep SUNWtipc If the TIPC protocol handler package is not installed, this is not a finding Verify the TIPC protocol handler is prevented from dynamic loading. # grep "exclude: tipc" /etc/system If no result is returned, this is a finding.
Fix: F-24146r1_fix
Remove the TIPC protocol handler package. # pkgrm SUNWtipc OR Prevent the TIPC protocol handler from dynamic loading. # echo "exclude: tipc" >> /etc/system
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007700
- Vuln IDs
-
- V-22541
- Rule IDs
-
- SV-42321r1_rule
Checks: C-40653r2_chk
Ask the SA if the system is on an IPv6 network. If so, this is not applicable. Verify there are no IPv6 addresses bound to network interfaces. # ifconfig -a6 If there are any IPv6 addresses bound to network interfaces, this is a finding. Verify the IPv6 Neighbor Discovery Protocol (NDP) daemon is not running. # ps -ef | grep in.ndp If the NDP daemon is running, this is a finding.
Fix: F-35955r1_fix
Disable the IPv6 Neighbor Discovery Protocol daemon. # svcadm disable ndp Remove all IPv6 addresses from network interfaces. Perform the following for every interface with an IPv6 address bound to it. # ifconfig < interface > inet6 down unplumb Remove all IPv6 network interface configuration. # rm /etc/hostname6.*
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007780
- Vuln IDs
-
- V-22545
- Rule IDs
-
- SV-26921r1_rule
Checks: C-27873r1_chk
# ifconfig -a If a tunnel interface is displayed with an IPv4 tunnel source address, an IPv6 interface address, and no tunnel destination address, this is a finding.
Fix: F-24164r1_fix
Disable the active 6to4 tunnel. # ifconfig <tunnel> down Check the /etc/hostname* files for startup configuration for the tunnel, and edit or delete as appropriate to prevent the tunnel creation on startup.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007820
- Vuln IDs
-
- V-22547
- Rule IDs
-
- SV-26927r1_rule
Checks: C-27877r1_chk
Check for any IP tunnels. # ifconfig -a | grep 'ip.*tun' If any results are returned, this is a finding.
Fix: F-24171r1_fix
Disable the tunnels. # ifconfig <tunnel> down Remove the startup configuration for the tunnels. # rm /etc/hostname.<tunnel>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN007840
- Vuln IDs
-
- V-22548
- Rule IDs
-
- SV-26931r1_rule
Checks: C-27881r1_chk
Verify no interface is configured to use DHCP. # ls /etc/dhcp.* If any file is found, this is a finding.
Fix: F-24174r1_fix
Delete the DHCP client configuration. # rm /etc/dhcp.*
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007860
- Vuln IDs
-
- V-22550
- Rule IDs
-
- SV-26937r2_rule
Checks: C-27885r2_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces verify the system is configured to ignore IPv6 ICMP redirect messages. # ndd /dev/ip6 ip6_ignore_redirect If the returned value is not 1, this is a finding.
Fix: F-24182r2_fix
Configure the system to ignore IPv6 ICMP redirect messages. # ndd -set /dev/ip6 ip6_ignore_redirect 1 Also add this command to a system startup script.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007880
- Vuln IDs
-
- V-22551
- Rule IDs
-
- SV-26938r2_rule
Checks: C-27886r2_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces verify the system is configured to not send IPv6 ICMP redirect messages. # ndd /dev/ip6 ip6_send_redirects If the returned value is not 0, this is a finding.
Fix: F-24183r1_fix
Configure the system to not send IPv6 ICMP redirect messages. # ndd -set /dev/ip6 ip6_send_redirects 0 Also, add this command to a system startup script.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007900
- Vuln IDs
-
- V-22552
- Rule IDs
-
- SV-26227r1_rule
Checks: C-29310r4_chk
Determine if the system uses a reverse-path filter for IPv6 network traffic. If it does not, this is a finding.
Fix: F-26342r3_fix
Configure the system to use a reverse-path filter for IPv6 network traffic.
- RMF Control
- AC-4
- Severity
- M
- CCI
- CCI-001551
- Version
- GEN007920
- Vuln IDs
-
- V-22553
- Rule IDs
-
- SV-26940r2_rule
Checks: C-27888r3_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces verify the system is configured to not forward IPv6 source-routed packets. # ndd /dev/ip6 ip6_forward_src_routed If the returned value is not 0, this is a finding.
Fix: F-24186r2_fix
Configure the system to not forward IPv6 source-routed packets. # ndd -set /dev/ip6 ip6_forward_src_routed 0 Also, add this command to a system startup script.
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- GEN007980
- Vuln IDs
-
- V-22555
- Rule IDs
-
- SV-41038r1_rule
Checks: C-39658r1_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 TLS is used for client authentications to the server # grep "NS_LDAP_AUTH=" /var/ldap/ldap_client_file If any of the authentication methods used do not begin with "tls:", this is a finding. Retrieve the list of LDAP servers. # grep "NS_LDAP_SERVERS=" /var/ldap/client_file Use the certutil to verify the cipher(s) used for every server. # certutil -L -n < host nickname > -d /var/ldap If any of the TLS connections do not use FIPS 140-2 approved cryptographic algorithms, this is a finding.
Fix: F-34803r1_fix
Configure all LDAP authentications and connections to be encrypted using TLS and FIPS 140-2 approved cryptographic algorithms.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008060
- Vuln IDs
-
- V-22559
- Rule IDs
-
- SV-40726r1_rule
Checks: C-39461r1_chk
Verify the permissions of the files. # ls -lL /var/ldap/ldap_client_file /var/ldap/ldap_client_cred If the mode of either file is more permissive than 0600, this is a finding.
Fix: F-34588r1_fix
Change the permissions of the files. # chmod 0600 /var/ldap/ldap_client_file /var/ldap/ldap_client_cred
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008080
- Vuln IDs
-
- V-22560
- Rule IDs
-
- SV-40727r1_rule
Checks: C-39462r1_chk
Verify the ownership of the files. # ls -lL /var/ldap/ldap_client_file /var/ldap/ldap_client_cred If the files are not owned by root, this is a finding.
Fix: F-34589r1_fix
Change the owner of the files. # chown root /var/ldap/ldap_client_file /var/ldap/ldap_client_cred
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008100
- Vuln IDs
-
- V-22561
- Rule IDs
-
- SV-39906r1_rule
Checks: C-38928r1_chk
Check the group ownership of the files. Procedure: # ls -lL /var/ldap/ldap_client_file /var/ldap/ldap_client_cred If the files are not group-owned by root, bin, or sys, this is a finding.
Fix: F-34068r1_fix
Change the group-owner of the files to root, bin, or sys. Procedure: # chgrp root /var/ldap/ldap_client_file /var/ldap/ldap_client_cred
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008120
- Vuln IDs
-
- V-22562
- Rule IDs
-
- SV-40728r1_rule
Checks: C-39463r1_chk
Verify the permissions of the files. # ls -lL /var/ldap/ldap_client_file /var/ldap/ldap_client_cred If the permissions include a "+", the files have an extended ACL, this is a finding.
Fix: F-34590r1_fix
Remove the extended ACL from the files. # chmod A- /var/ldap/ldap_client_file /var/ldap/ldap_client_cred
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008140
- Vuln IDs
-
- V-22563
- Rule IDs
-
- SV-40755r1_rule
Checks: C-39500r1_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 ownership of the certificate database files. # ls -lL /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db If the owner of any of the files is not root, this is a finding.
Fix: F-34615r1_fix
Change the ownership of the certificate database files. # chown root /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008160
- Vuln IDs
-
- V-22564
- Rule IDs
-
- SV-39907r1_rule
Checks: C-38930r2_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 group ownership of the certificate database files. # ls -lL /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db If the group owner of any of the files is not root, bin, or sys, this is a finding.
Fix: F-34069r1_fix
Change the group ownership of the certificate database files. # chgrp root /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008180
- Vuln IDs
-
- V-22565
- Rule IDs
-
- SV-40760r1_rule
Checks: C-39503r2_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 mode of the certificate database files. # ls -lL /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db If the mode of any of the files is more permissive than 0644, this is a finding.
Fix: F-34620r2_fix
Change the mode of the certificate database files. # chmod 0644 /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db NOTE: Some SAs may prefer to set the permissions to 0600. This is acceptable.
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008200
- Vuln IDs
-
- V-22566
- Rule IDs
-
- SV-37427r1_rule
Checks: C-39506r1_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-31354r1_fix
Remove the extended ACL from the certificate database files. # chmod A- /var/ldap/cert8.db /var/ldap/key3.db /var/ldap/secmod.db
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008440
- Vuln IDs
-
- V-22577
- Rule IDs
-
- SV-26965r1_rule
Checks: C-27912r1_chk
If the autofs service is needed, this vulnerability is not applicable. Check if the autofs service is running. # svcs svc:/system/filesystem/autofs If the autofs service is online this is a finding.
Fix: F-24227r1_fix
Stop and disable the autofs service. # svcadm disable autofs
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008460
- Vuln IDs
-
- V-22578
- Rule IDs
-
- SV-26968r1_rule
Checks: C-27915r1_chk
If the system needs USB, this vulnerability is not applicable. Verify the SUNWusb package is installed. # pkginfo SUNWusb If the package is installed, this is a finding.
Fix: F-24230r1_fix
Remove the SUNWusb package. # pkgrm SUNWusb
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008480
- Vuln IDs
-
- V-22579
- Rule IDs
-
- SV-26970r4_rule
Checks: C-27917r6_chk
If the system needs a particular USB driver for storage, this vulnerability is not applicable. Check the current loaded kernel modules: # modinfo | grep usb_ac # modinfo | grep usb_as # modinfo | grep hid # modinfo | grep scsa2usb # modinfo | grep usbprn # modinfo | grep usbser_edge If any command produces output, this is a finding. Check the configuration of the /etc/system file: # grep 'exclude: usb_ac' /etc/system # grep 'exclude: usb_as' /etc/system # grep 'exclude: hid' /etc/system # grep 'exclude: scsa2usb' /etc/system # grep 'exclude: usbprn' /etc/system # grep 'exclude: usbser_edge' /etc/system If no results are returned from any particular command, this is a finding.
Fix: F-24232r6_fix
Prevent the USB drivers from loading: # echo "exclude: usb_ac" >> /etc/system # echo "exclude: usb_as" >> /etc/system # echo "exclude: hid" >> /etc/system # echo "exclude: scsa2usb" >> /etc/system # echo "exclude: usbprn" >> /etc/system # echo "exclude: usbser_edge" >> /etc/system The system must be restarted for these changes to take effect.
- RMF Control
- CM-6
- Severity
- L
- CCI
- CCI-000366
- Version
- GEN008500
- Vuln IDs
-
- V-22580
- Rule IDs
-
- SV-26972r1_rule
Checks: C-27919r1_chk
If the system needs IEEE 1394 (Firewire), this is not applicable. Check if the firewire module is not disabled. # grep 'exclude: s1394' /etc/system If no results are returned, this is a finding.
Fix: F-24234r2_fix
Disable the firewire module. # echo "exclude: s1394" >> /etc/system Reboot for the changes to take effect.
- RMF Control
- SC-7
- Severity
- M
- CCI
- CCI-001118
- Version
- GEN008520
- Vuln IDs
-
- V-22582
- Rule IDs
-
- SV-26974r2_rule
Checks: C-27921r2_chk
If the system is not a global zone, this vulnerability is not applicable. Determine if the system is using a local firewall. # svcs network/ipfilter If the service is not online, this is a finding.
Fix: F-24236r1_fix
Enable the system's local firewall. # svcadm enable network/ipfilter
- RMF Control
- SC-7
- Severity
- M
- CCI
- CCI-001109
- Version
- GEN008540
- Vuln IDs
-
- V-22583
- Rule IDs
-
- SV-26976r2_rule
Checks: C-40649r2_chk
If the system is not a global zone, this vulnerability is not applicable. Check the firewall rules for a default deny rule. # ipfstat -i An example of a default deny rule is: block in log quick on ne3 from any to any. If there is no default deny rule, this is a finding.
Fix: F-24238r2_fix
Edit /etc/ipf/ipf.conf and add a default deny rule. Restart the ipfilter service. # svcadm restart network/ipfilter
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008740
- Vuln IDs
-
- V-22585
- Rule IDs
-
- SV-26985r2_rule
Checks: C-27927r2_chk
This check applies to the global zone only. Determine the type zone that you are currently securing. # zonename If the command output is "global", this check applies. On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset. On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option: # bootadm list-menu Check the permissions of the menu.lst file. Procedure: # ls -lL /pool-name/boot/grub/menu.lst or # ls -lL /boot/grub/menu.lst If the permissions of the menu.lst file contain "+", an extended ACL is present, and this is a finding.
Fix: F-24249r2_fix
If the file with the extended ACL resides on a UFS filesystem: # getfacl /boot/grub/menu.lst Remove each ACE from the file. # setfacl -r [ACE] /boot/grub/menu.lst If the file with the extended ACL resides on a ZFS filesystem: # chmod A- /pool-name/boot/grub/menu.lst
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008760
- Vuln IDs
-
- V-22586
- Rule IDs
-
- SV-26987r2_rule
Checks: C-27929r2_chk
This check applies to the global zone only. Determine the type of zone that you are currently securing. # zonename If the command output is "global", this check applies. On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset. On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option: # bootadm list-menu Check the ownership of the menu.lst file. Procedure: # ls -lL /pool-name/boot/grub/menu.lst or # ls -lL /boot/grub/menu.lst If the owner of the file is not root, this is a finding.
Fix: F-24252r2_fix
Change the ownership of the file. # chown root /pool-name/boot/grub/menu.lst or # chown root /boot/grub/menu.lst
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN008780
- Vuln IDs
-
- V-22587
- Rule IDs
-
- SV-26989r2_rule
Checks: C-27931r3_chk
This check applies to the global zone only. Determine the type of zone that you are currently securing. # zonename If the command output is "global", this check applies. On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset. On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option: # bootadm list-menu Check the group ownership of the menu.lst file. Procedure: # ls -lL /pool-name/boot/grub/menu.lst or # ls -lL /boot/grub/menu.lst If the group owner of the file is not root, bin, sys, or system this is a finding.
Fix: F-24254r2_fix
Change the group ownership of the file. # chgrp root /pool-name/boot/grub/menu.lst or # chgrp root /boot/grub/menu.lst
- RMF Control
- CM-5
- Severity
- L
- CCI
- CCI-000351
- Version
- GEN008800
- Vuln IDs
-
- V-22588
- Rule IDs
-
- SV-26991r1_rule
Checks: C-27934r1_chk
Verify package signature validation is not disabled. # grep "authentication=quit" /var/sadm/install/admin/default If no configuration is returned, this is a finding.
Fix: F-24257r1_fix
Edit /var/sadm/install/admin/default and set the authentication setting to quit.
- RMF Control
- SI-2
- Severity
- L
- CCI
- CCI-001233
- Version
- GEN008820
- Vuln IDs
-
- V-22589
- Rule IDs
-
- SV-40814r1_rule
Checks: C-39533r1_chk
Determine if the system package management tool is configured to automatically obtain updated packages using the cron or at utilities. # grep smpatch /var/spool/cron/crontabs/* /var/spool/cron/atjobs/* If smpatch is called with the add, update, or remove subcommands, this is a finding.
Fix: F-34669r1_fix
Disable any cron or at jobs running smpatch. # crontab -e < user running smpatch > # atrm < id of at job running smpatch >
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00110
- Vuln IDs
-
- V-22599
- Rule IDs
-
- SV-27004r1_rule
Checks: C-27946r1_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-24271r1_fix
Remove the extended ACL from the file. # chmod A- /etc/security/audit_user
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00250
- Vuln IDs
-
- V-22600
- Rule IDs
-
- SV-27013r1_rule
Checks: C-27947r1_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-24278r1_fix
Change the group ownership of the file. # chgrp root /usr/aset/userlist
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00270
- Vuln IDs
-
- V-22601
- Rule IDs
-
- SV-27015r1_rule
Checks: C-27948r1_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-24282r1_fix
Remove the extended ACL from the file. # chmod A- /usr/aset/userlist
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00540
- Vuln IDs
-
- V-22603
- Rule IDs
-
- SV-27016r2_rule
Checks: C-27949r2_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-24283r1_fix
Change the ownership of the files and directories. # chown -R root /etc/zones
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00560
- Vuln IDs
-
- V-22604
- Rule IDs
-
- SV-27018r2_rule
Checks: C-27950r2_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-24284r1_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
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00580
- Vuln IDs
-
- V-22605
- Rule IDs
-
- SV-27019r2_rule
Checks: C-27951r2_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-24285r1_fix
Change the mode of the file or directory. # chmod 0644 <file> For directories: # chmod 0755 <directory>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00600
- Vuln IDs
-
- V-22606
- Rule IDs
-
- SV-27020r2_rule
Checks: C-27952r2_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-24287r1_fix
Remove the extended ACL from the file. # chmod A- <file>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00620
- Vuln IDs
-
- V-22607
- Rule IDs
-
- SV-27022r1_rule
Checks: C-27953r1_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 <zone> 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-24289r1_fix
Remove the inherit-pkg-dir lines or the directories not defined for sparse root zones. # zonecfg -z <zone> remove inherit-pkg-dir=<somedir>
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00640
- Vuln IDs
-
- V-22608
- Rule IDs
-
- SV-27023r1_rule
Checks: C-27954r1_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 <zone> 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-24290r1_fix
Change the limitpriv setting to default. # zonecfg -z <zone> set limitpriv=default
- RMF Control
- AC-6
- Severity
- M
- CCI
- CCI-000225
- Version
- GEN000000-SOL00660
- Vuln IDs
-
- V-22609
- Rule IDs
-
- SV-27024r2_rule
Checks: C-27955r1_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 <zone> info Check for device lines. If such a line exists, this is a finding.
Fix: F-24291r2_fix
Remove all device assignments from the non-global zone. # zonecfg -z <zone> remove device <device>
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN005590
- Vuln IDs
-
- V-22665
- Rule IDs
-
- SV-39878r1_rule
Checks: C-38884r1_chk
Check for any running routing protocol daemons. # svcs -a | grep online | egrep '(ospf|route|bgp|zebra|quagga)' OR # ps -ef | egrep '(ospf|route|bgp|zebra|quagga)' If any routing protocol daemons are listed, this is a finding.
Fix: F-34026r1_fix
Disable any routing protocol daemons. # svcadm disable <routing protocol daemon>
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- GEN002690
- Vuln IDs
-
- V-22702
- Rule IDs
-
- SV-27277r1_rule
Checks: C-28375r1_chk
Determine the location of audit logs and then check the group-ownership. Procedure: # more /etc/security/audit_control # ls -lLd <audit log dir> If any audit log file is not group-owned by root, bin, or sys, this is a finding.
Fix: F-24520r1_fix
Change the group ownership of the audit log file(s). Procedure: # chgrp root <audit log file>
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN000410
- Vuln IDs
-
- V-23732
- Rule IDs
-
- SV-39879r1_rule
Checks: C-28848r1_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 & consent to terms in IS user agreem't."
Fix: F-34027r1_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."
- RMF Control
- SC-32
- Severity
- L
- CCI
- CCI-001208
- Version
- GEN003623
- Vuln IDs
-
- V-23738
- Rule IDs
-
- SV-28628r2_rule
Checks: C-28877r2_chk
Determine the audit log data path. # grep "^dir:" /etc/security/audit_control Determine if the audit log data path is a separate filesystem. # df -h <audit data path> If the returned mount point is "/" this is a finding.
Fix: F-25904r1_fix
Migrate the system audit data path onto a separate file system.
- RMF Control
- SC-32
- Severity
- L
- CCI
- CCI-001208
- Version
- GEN003624
- Vuln IDs
-
- V-23739
- Rule IDs
-
- SV-28632r1_rule
Checks: C-28881r1_chk
Determine if the /tmp path is a separate file system. # grep /tmp /etc/vfstab If no result is returned, /tmp is not on a separate file system, this is a finding. If the returned result indicates that /tmp is mounted on a memory or swap based file system, this is not a finding
Fix: F-25907r1_fix
Migrate the /tmp path onto a separate file system.
- RMF Control
- Severity
- M
- CCI
- Version
- GEN003601
- Vuln IDs
-
- V-23741
- Rule IDs
-
- SV-28639r2_rule
Checks: C-28894r3_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces determine the network settings. Procedure: # ndd /dev/tcp tcp_conn_req_max_q0 If the returned value is not 1280 or greater, this is a finding. Procedure: # ndd /dev/tcp tcp_conn_req_max_q If the returned value is not 1024, this is a finding.
Fix: F-25916r1_fix
Procedure: # ndd -set /dev/tcp tcp_conn_req_max_q0 1280 # ndd -set /dev/tcp tcp_conn_req_max_q 1024 Ensure these commands are also present in system startup scripts.
- RMF Control
- SI-8
- Severity
- M
- CCI
- CCI-001305
- Version
- GEN004710
- Vuln IDs
-
- V-23952
- Rule IDs
-
- SV-28908r1_rule
Checks: C-30013r1_chk
If the system uses Sendmail, locate the sendmail.cf file. Procedure: # find / -name sendmail.cf Determine if Sendmail only binds to loopback addresses by examining the DaemonPortOptions configuration options. Procedure: # grep -i "O DaemonPortOptions" </path/to/sendmail.cf> If there are uncommented DaemonPortOptions lines, and all such lines specify system loopback addresses, this is not a finding. Otherwise, determine if Sendmail is configured to allow open relay operation. Procedure: # find / -name sendmail.mc # grep -i promiscuous_relay </path/to/sendmail.mc> If the promiscuous relay feature is enabled, this is a finding. If the system uses Postfix, locate the main.cf file. Procedure: # find / -name main.cf Determine if Postfix only binds to loopback addresses by examining the inet_interfaces line. Procedure: # grep inet_interfaces </path/to/main.cf> If inet_interfaces is set to loopback-only or contains only loopback addresses, such as 127.0.0.1 and [::1], Postfix is not listening on external network interfaces, this is not a finding. Otherwise, determine if Postfix is configured to restrict clients permitted to relay mail by examining the smtpd_client_restrictions line. Procedure: # grep smtpd_client_restrictions </path/to/main.cf> If the smtpd_client_restrictions line is missing, or does not contain reject, this is a finding. If the line contains permit before reject, this is a finding. If the system is using other SMTP software, consult the software's documentation for procedures to verify mail relaying is restricted.
Fix: F-26860r1_fix
If the system uses Sendmail, edit the sendmail.mc file and remove the promiscuous_relay configuration. Rebuild the sendmail.cf file from the modified sendmail.mc and restart the service. If the system does not need to receive mail from external hosts, add one or more DaemonPortOptions lines referencing system loopback addresses (such as "O DaemonPortOptions=Addr=127.0.0.1,Port=smtp,Name=MTA") and remove lines containing non-loopback addresses. Restart the service. If the system uses Postfix, edit the main.cf file and add or edit the smtpd_client_restrictions line to have contents permit mynetworks, reject or a similarly restrictive rule. If the system does not need to receive mail from external hosts, add or edit the inet_interfaces line to have contents loopback-only or a set of loopback addresses for the system. Restart the service. If the system is using other SMTP software, consult the software's documentation for procedures to restrict mail relaying.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- GEN007950
- Vuln IDs
-
- V-23972
- Rule IDs
-
- SV-29785r2_rule
Checks: C-30065r2_chk
Determine the type of zone that you are currently securing. # zonename If the zone is not the global zone, determine if any interfaces are exclusive to the zone: # dladm show-link If the output indicates "insufficient privileges" then this requirement is not applicable. If the zone is the global zone or the non-global zone has exclusive interfaces determine if the system is configured to ignore IPv6 multicast ICMP echo-requests. Procedure: # ndd -get /dev/ip ip6_respond_to_echo_multicast If the result is not 0, this is a finding.
Fix: F-26896r1_fix
Configure the system to not respond to IPv6 multicast ICMP echo-requests. Procedure: # ndd -set /dev/ip ip6_respond_to_echo_multicast 0 This command must also be added to a system startup script.
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- GEN000402
- Vuln IDs
-
- V-24331
- Rule IDs
-
- SV-39880r1_rule
Checks: C-38885r2_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 & consent to terms in IS user agreem't."
Fix: F-34028r1_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."
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000768
- Version
- GEN009120
- Vuln IDs
-
- V-24347
- Rule IDs
-
- SV-30004r2_rule
Checks: C-30833r1_chk
Consult vendor documentation to determine if the system is capable of CAC authentication. If it is not, this is not applicable. Interview the SA to determine if all accounts not exempted by policy are using CAC authentication. If non-exempt accounts are not using CAC authentication, this is a finding.
Fix: F-27447r1_fix
Consult vendor documentation to determine the procedures necessary for configuring CAC authentication. Configure all accounts required by policy to use CAC authentication.
- RMF Control
- AU-3
- Severity
- L
- CCI
- CCI-000136
- Version
- GEN002870
- Vuln IDs
-
- V-24357
- Rule IDs
-
- SV-39881r1_rule
Checks: C-38887r1_chk
Audit records may be sent to a remote server in two ways, via an NFS mount of the audit directory, or via the audit_syslog plugin (if available). NFS: Check the "dir" parameter in /etc/security/audit_control. If the directory is on an NFS mount to a remote server, there is no finding. SYSLOG: Check the "plugin" parameter in /etc/security/audit_control. Confirm that the audit_syslog.so* plugin is listed with "p_flags=all". # grep audit_syslog.so /etc/security/audit_control Check that syslogd is sending messages to a remote server (GEN005450): # grep '@' /etc/syslog.conf | grep -v '^#' If both auditd is configured to send audit records to syslog, and syslogd is configured to send messages to a remote server, there is no finding. If auditd is saving audit records on a local directory, and audit records are not being sent to a remote server via syslog, this is a finding.
Fix: F-34029r1_fix
Update the /etc/security/audit_control file to save audit records to a remote NFS mount. dir:<remote NFS directory> OR If the /usr/lib/security/audit_syslog.so* exists, update the /etc/security/audit_control file to send all audit records to syslog and update /etc/syslog.conf to send all audit messages to a remote server. /etc/security/audit_control: plugin:name=audit_syslog.so.1: p_flags=all /etc/syslog.conf: audit.* @<remote syslog server>
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000197
- Version
- GEN003850
- Vuln IDs
-
- V-24386
- Rule IDs
-
- SV-39864r1_rule
Checks: C-38869r1_chk
Determine if the telnet daemon is running. # svcs telnet If the telnet service is enabled, this is a finding.
Fix: F-34011r1_fix
Disable the telnet daemon. # svcadm disable telnet # svcadm refresh inetd
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- GEN008710
- Vuln IDs
-
- V-24624
- Rule IDs
-
- SV-42317r2_rule
Checks: C-40647r3_chk
This check applies to the global zone only. Determine the type of zone that you are currently securing. # zonename If the command output is "global", this check applies. On systems that have a ZFS root, the active menu.lst file is typically located at /pool-name/boot/grub/menu.lst where "pool-name" is the mount point for the top-level dataset. On systems that have a UFS root, the active menu.lst file is typically located at /boot/grub/menu.lst. To locate the active GRUB menu, use the bootadm command with the list-menu option: # bootadm list-menu Check the boot configuration for password settings. List any password configuration from the active menu file (substitute the file determined above in place of the example file provided below, if necessary). # grep password /pool-name/boot/grub/menu.lst or # grep password /boot/grub/menu.lst Check for a password configuration line, such as: password --md5 <password-hash> If the boot loader passwords are not protected using an MD5 hash or stronger, this is a finding.
Fix: F-35950r2_fix
Configure the GRUB bootloader to require a password. Procedure: Obtain the location of the active GRUB menu file. # bootadm list-menu Create a password hash using GRUB. The location of the GRUB binary may be different based on the specific system. # /boot/grub/bin/grub grub> md5crypt Password: <password> Encrypted: <password hash> grub> quit The encrypted password hash will be returned. Edit the GRUB menu configuration file, and add a line such as the following, substituting the password hash obtained above: password --md5 <password hash>