VMware vRealize Automation 7.x SLES Security Technical Implementation Guide
Pick two releases to diff their requirements.
Open a previous version of this STIG.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000016
- Version
- VRAU-SL-000010
- Vuln IDs
-
- V-89465
- Rule IDs
-
- SV-100115r1_rule
Checks: C-89157r1_chk
For every existing temporary account, run the following command to obtain its account expiration information: # chage -l system_account_name Verify each of these accounts has an expiration date set within "72" hours. If any temporary accounts have no expiration date set or do not expire within "72" hours, this is a finding.
Fix: F-96207r1_fix
In the event temporary accounts are required, configure the system to terminate them after a 72-hour time period. For every temporary account, run the following command to set an expiration date on it, substituting "system_account_name" to the appropriate value: # chage -E `date -d "+3 days" +%Y-%m-%d` system_account_name `date -d "+3 days" +%Y-%m-%d` gets the "72" expiration date for the account at the time of running the command.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000018
- Version
- VRAU-SL-000015
- Vuln IDs
-
- V-89467
- Rule IDs
-
- SV-100117r1_rule
Checks: C-89159r2_chk
Determine if execution of the useradd and groupadd executable are audited. # auditctl -l | egrep '(useradd|groupadd)' If either useradd or groupadd are not listed with a permissions filter of at least "x", this is a finding. Expected result: LIST_RULES: exit,always watch=/usr/sbin/useradd perm=x key=useradd LIST_RULES: exit,always watch=/usr/sbin/groupadd perm=x key=groupadd
Fix: F-96209r1_fix
Configure execute auditing of the useradd and groupadd executables. Run the dodscript with the following command as root: # /etc/dodscript.sh OR Configure execute auditing of the useradd and groupadd executables. Add the following to /etc/audit/audit.rules: -w /usr/sbin/useradd -p x -k useradd -w /usr/sbin/groupadd -p x -k groupadd Restart the auditd service: # service auditd restart
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-000018
- Version
- VRAU-SL-000020
- Vuln IDs
-
- V-89469
- Rule IDs
-
- SV-100119r1_rule
Checks: C-89161r1_chk
Determine if /etc/passwd, /etc/shadow, /etc/group, and /etc/gshadow are audited for appending. # auditctl -l | egrep '(/etc/passwd|/etc/shadow|/etc/group|/etc/gshadow)' | grep perm=a If any of these are not listed with a permissions filter of at least "a", this is a finding. Expected result: LIST_RULES: exit,always watch=/etc/passwd perm=a key=passwd LIST_RULES: exit,always watch=/etc/shadow perm=a key=shadow LIST_RULES: exit,always watch=/etc/group perm=a key=group LIST_RULES: exit,always watch=/etc/gshadow perm=a key=gshadow
Fix: F-96211r1_fix
Configure append auditing of the passwd, shadow, group, and gshadow files. Run the dodscript with the following command as root: # /etc/dodscript.sh # echo '-w /etc/gshadow -p a -k gshadow' >> /etc/audit/audit.rules Restart the auditd service. # service auditd restart OR Configure append auditing of the passwd, shadow, group, and gshadow files by running the following commands: # echo '-w /etc/passwd -p a -k passwd' >> /etc/audit/audit.rules # echo '-w /etc/shadow -p a -k shadow' >> /etc/audit/audit.rules # echo '-w /etc/group -p a -k group' >> /etc/audit/audit.rules # echo '-w /etc/gshadow -p a -k gshadow' >> /etc/audit/audit.rules Restart the auditd service: # service auditd restart
- RMF Control
- AC-7
- Severity
- M
- CCI
- CCI-000044
- Version
- VRAU-SL-000025
- Vuln IDs
-
- V-89471
- Rule IDs
-
- SV-100121r1_rule
Checks: C-89163r1_chk
Run the following command to ensure that the operating system enforces the limit of three consecutive invalid logon attempts by a user: # grep pam_tally2.so /etc/pam.d/common-auth The output should contain "deny=3" in the returned line. If this is not the case, this is a finding. Expected Result: auth required pam_tally2.so deny=3 onerr=fail even_deny_root unlock_time=86400 root_unlock_time=300
Fix: F-96213r2_fix
To configure the SLES for vRealize to enforce the limit of three consecutive invalid attempts using "pam_tally2.so", modify the content of the /etc/pam.d/common-auth-vmware.local by running the following command: # sed -i "/^[^#]*pam_tally2.so/ c\auth required pam_tally2.so deny=3 onerr=fail even_deny_root unlock_time=86400 root_unlock_time=300" /etc/pam.d/common-auth-vmware.local
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-000048
- Version
- VRAU-SL-000030
- Vuln IDs
-
- V-89473
- Rule IDs
-
- SV-100123r1_rule
Checks: C-89165r2_chk
Check that the SSH daemon is configured for logon warning banners: # grep -i banner /etc/ssh/sshd_config | grep -v '#' If the output does not contain "Banner /etc/issue", this is a finding.
Fix: F-96215r2_fix
To configure the SSH daemon for the logon warning banners, modify /etc/ssh/sshd_config with the following command: # sed -i "/^[^#]*Banner/ c\Banner /etc/issue" /etc/ssh/sshd_config The SSH service will need to be restarted after the above change has been made to SSH. This can be done by running the following command: # service sshd restart
- RMF Control
- AC-10
- Severity
- L
- CCI
- CCI-000054
- Version
- VRAU-SL-000040
- Vuln IDs
-
- V-89475
- Rule IDs
-
- SV-100125r1_rule
Checks: C-89167r1_chk
Verify the SLES for vRealize limits the number of concurrent sessions to "10" for all accounts and/or account types with the following command: # grep maxlogins /etc/security/limits.conf | grep -v '#' The default maxlimits should be set to a max of "10" or a documented site defined number: * hard maxlogins 10 If no such line exists, this is a finding.
Fix: F-96217r2_fix
Configure the SLES for vRealize to limit the number of concurrent sessions to "10" for all accounts and/or account types by using the following command. sed -i 's/\(^* *hard *maxlogins\).*/* hard maxlogins 10/g' /etc/security/limits.conf
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000057
- Version
- VRAU-SL-000050
- Vuln IDs
-
- V-89477
- Rule IDs
-
- SV-100127r1_rule
Checks: C-89169r1_chk
Check for the existence of the /etc/profile.d/tmout.sh file: # ls -al /etc/profile.d/tmout.sh Check for the presence of the TMOUT variable: # grep TMOUT /etc/profile.d/tmout.sh The value of TMOUT should be set to "900" seconds (15 minutes). If the file does not exist, or the TMOUT variable is not set, this is a finding.
Fix: F-96219r1_fix
Ensure the file exists and is owned by "root". If the file does not exist, use the following commands to create the file: # touch /etc/profile.d/tmout.sh # chown root:root /etc/profile.d/tmout.sh # chmod 644 /etc/profile.d/tmout.sh Edit the file "/etc/profile.d/tmout.sh" and add the following lines: TMOUT=900 readonly TMOUT export TMOUT mesg n 2>/dev/null
- RMF Control
- AC-11
- Severity
- M
- CCI
- CCI-000057
- Version
- VRAU-SL-000055
- Vuln IDs
-
- V-89479
- Rule IDs
-
- SV-100129r1_rule
Checks: C-89171r1_chk
Verify the SLES for vRealize initiates a session lock after a 15-minute period of inactivity for SSH. Execute the following command: # grep ClientAliveInterval /etc/ssh/sshd_config; grep ClientAliveCountMax /etc/ssh/sshd_config Verify the following result: ClientAliveInterval 900 ClientAliveCountMax 0 If this is not set, this is a finding.
Fix: F-96221r1_fix
Configure the SLES for vRealize to initiate a session lock after a 15-minute period of inactivity for SSH. Set the session lock after a 15-minute period by executing the following command: # sed -i 's/^.*\bClientAliveInterval\b.*$/ClientAliveInterval 900/' /etc/ssh/sshd_config; sed -i 's/^.*\bClientAliveCountMax\b.*$/ClientAliveCountMax 0/' /etc/ssh/sshd_config
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000067
- Version
- VRAU-SL-000070
- Vuln IDs
-
- V-89481
- Rule IDs
-
- SV-100131r1_rule
Checks: C-89173r1_chk
Verify that SSH is configured to verbosely log connection attempts and failed logon attempts to the server by running the following command: # grep LogLevel /etc/ssh/sshd_config | grep -v '#' The output message must contain the following text: LogLevel VERBOSE If it is not set to "VERBOSE", this is a finding.
Fix: F-96223r1_fix
To configure SSH to verbosely log connection attempts and failed logon attempts to the server, run the following command: # sed -i 's/^.*\bLogLevel\b.*$/LogLevel VERBOSE/' /etc/ssh/sshd_config The SSH service will need to be restarted after the above change has been made to SSH. This can be done by running the following command: # service sshd restart
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- VRAU-SL-000075
- Vuln IDs
-
- V-89483
- Rule IDs
-
- SV-100133r1_rule
Checks: C-89175r2_chk
Check the SSH daemon configuration for DoD-approved encryption to protect the confidentiality of SSH remote connections by performing the following commands: Check the "Ciphers" setting in the "sshd_config" file. # grep -i Ciphers /etc/ssh/sshd_config | grep -v '#' The output must contain either nothing or any number of the following algorithms: aes128-ctr, aes256-ctr. If the output contains an algorithm not listed above, this is a finding. Expected Output: Ciphers aes256-ctr,aes128-ctr
Fix: F-96225r2_fix
Update the Ciphers directive with the following command: # sed -i "/^[^#]*Ciphers/ c\Ciphers aes256-ctr,aes128-ctr" /etc/ssh/sshd_config Save and close the file. Restart the sshd process: # service sshd restart
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-000068
- Version
- VRAU-SL-000080
- Vuln IDs
-
- V-89485
- Rule IDs
-
- SV-100135r1_rule
Checks: C-89177r1_chk
Check the SSH daemon configuration for DoD-approved encryption to protect the confidentiality of SSH remote connections by performing the following commands: Check the "Ciphers" setting in the "ssh_config" file. # grep -i Ciphers /etc/ssh/ssh_config | grep -v '#' The output must contain either nothing or any number of the following algorithms: aes128-ctr, aes256-ctr. If the output contains an algorithm not listed above, this is a finding. Expected Output: Ciphers aes256-ctr,aes128-ctr
Fix: F-96227r2_fix
Update the "Ciphers" directive with the following command: # sed -i "/^[^#]*Ciphers/ c\Ciphers aes256-ctr,aes128-ctr" /etc/ssh/ssh_config Save and close the file.
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-000130
- Version
- VRAU-SL-000085
- Vuln IDs
-
- V-89487
- Rule IDs
-
- SV-100137r1_rule
Checks: C-89179r1_chk
Verify the SLES for vRealize produces audit records by running the following command to determine the current status of the "auditd" service: # service auditd status If the service is enabled, the returned message must contain the following text: Checking for service auditd running If the service is not running, this is a finding.
Fix: F-96229r1_fix
Enable the "auditd" service by performing the following commands: # chkconfig auditd on # service auditd start
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-000139
- Version
- VRAU-SL-000125
- Vuln IDs
-
- V-89489
- Rule IDs
-
- SV-100139r1_rule
Checks: C-89181r1_chk
Check /etc/audit/auditd.conf for the space_left_action with the following command: # cat /etc/audit/auditd.conf | grep space_left_action If the "space_left_action" parameter is missing; is set to "ignore", "suspend", "single", or "halt"; or is blank, this is a finding. Expected Result: space_left_action = SYSLOG NOTES: If the "space_left_action" is set to "exec", the system executes a designated script. If this script informs the SA of the event, this is not a finding. If the "space_left_action" is set to "email" and the "action_mail_acct" parameter is not set to the email address of the system administrator, this is a finding. The "action_mail_acct" parameter, if missing, defaults to "root". Note that if the email address of the system administrator is on a remote system, "sendmail" must be available.
Fix: F-96231r1_fix
Set the space_left_action parameter to the valid setting "SYSLOG" by running the following command: # sed -i "/^[^#]*space_left_action/ c\space_left_action = SYSLOG" /etc/audit/auditd.conf Restart the audit service: # service auditd restart
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-000140
- Version
- VRAU-SL-000130
- Vuln IDs
-
- V-89491
- Rule IDs
-
- SV-100141r1_rule
Checks: C-89183r1_chk
Verify the /etc/audit/auditd.conf has the "disk_full_action", "disk_error_action", and "admin_disk_space_left" parameters set. # grep disk_full_action /etc/audit/auditd.conf If the "disk_full_action" parameter is missing or set to "suspend" or "ignore" this is a finding. # grep disk_error_action /etc/audit/auditd.conf If the "disk_error_action" parameter is missing or set to "suspend" or "ignore" this is a finding. # grep admin_space_left_action /etc/audit/auditd.conf If the "admin_space_left_action" parameter is missing or set to "suspend" or "ignore" this is a finding.
Fix: F-96233r1_fix
Edit /etc/audit/auditd.conf and set the "disk_full_action", "disk_error_action", and "admin_space_left_action" parameters to "syslog" with the following commands: # sed -i "/^[^#]*disk_full_action/ c\disk_full_action = SYSLOG" /etc/audit/auditd.conf # sed -i "/^[^#]*disk_error_action/ c\disk_error_action = SYSLOG" /etc/audit/auditd.conf # sed -i "/^[^#]*admin_space_left_action/ c\admin_space_left_action = SYSLOG" /etc/audit/auditd.conf For certain systems, the need for availability outweighs the need to log all actions, and a different setting should be determined.
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- VRAU-SL-000150
- Vuln IDs
-
- V-89493
- Rule IDs
-
- SV-100143r1_rule
Checks: C-89185r1_chk
Verify that the system audit logs are owned by "root": # (audit_log_file=$(grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//) && if [ -f "${audit_log_file}" ] ; then printf "Log(s) found in "${audit_log_file%/*}":\n"; ls -l ${audit_log_file%/*}; else printf "audit log file(s) not found\n"; fi) If any audit log file is not owned by "root", this is a finding.
Fix: F-96235r1_fix
Change the ownership of the audit log file(s). Procedure: # chown root <audit log file> # chown root /var/log/audit/audit.log
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000162
- Version
- VRAU-SL-000155
- Vuln IDs
-
- V-89495
- Rule IDs
-
- SV-100145r1_rule
Checks: C-89187r1_chk
Verify that the system audit logs are group-owned by "root": # (audit_log_file=$(grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//) && if [ -f "${audit_log_file}" ] ; then printf "Log(s) found in "${audit_log_file%/*}":\n"; ls -l ${audit_log_file%/*}; else printf "audit log file(s) not found\n"; fi) If any audit log file is not group-owned by "root" or "admin", this is a finding.
Fix: F-96237r1_fix
Change the group-ownership of the audit log file(s). Procedure: # chgrp root <audit log file> # chgrp root /var/log/audit/audit.log
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000163
- Version
- VRAU-SL-000160
- Vuln IDs
-
- V-89497
- Rule IDs
-
- SV-100147r1_rule
Checks: C-89189r1_chk
Verify that the system audit logs with the following command: # (audit_log_file=$(grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//) && if [ -f "${audit_log_file}" ] ; then printf "Log(s) found in "${audit_log_file%/*}":\n"; ls -l ${audit_log_file%/*}; else printf "audit log file(s) not found\n"; fi) If any audit log file has a mode more permissive than "0640", this is a finding.
Fix: F-96239r1_fix
Change the mode of the audit log file(s): # chmod 0640 <audit log file>
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000164
- Version
- VRAU-SL-000165
- Vuln IDs
-
- V-89499
- Rule IDs
-
- SV-100149r1_rule
Checks: C-89191r1_chk
Verify that the system audit logs with the following command: # (audit_log_file=$(grep "^log_file" /etc/audit/auditd.conf|sed s/^[^\/]*//) && if [ -f "${audit_log_file}" ] ; then printf "Log(s) found in "${audit_log_file%/*}":\n"; ls -l ${audit_log_file%/*}; else printf "audit log file(s) not found\n"; fi) If any audit log file has a mode more permissive than "0640", this is a finding.
Fix: F-96241r1_fix
Change the mode of the audit log file(s): # chmod 0640 <audit log file>
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-000164
- Version
- VRAU-SL-000170
- Vuln IDs
-
- V-89501
- Rule IDs
-
- SV-100151r1_rule
Checks: C-89193r1_chk
Run the following command to check the mode of the system audit directories: # grep "^log_file" /etc/audit/auditd.conf|sed 's/^[^/]*//; s/[^/]*$//'|xargs stat -c %a:%n Audit directories must be mode "0700". If any are more permissive, this is a finding.
Fix: F-96243r1_fix
Change the mode of the audit log directories with the following command: # chmod 700 <audit log directory>
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000175
- Vuln IDs
-
- V-89503
- Rule IDs
-
- SV-100153r1_rule
Checks: C-89195r1_chk
Check the auditing configuration of the system: # cat /etc/audit/audit.rules | grep -i "auditd.conf" If no results are returned, or the line does not start with "-w", this is a finding. Expected Result: -w /etc/audit/auditd.conf
Fix: F-96245r1_fix
Add the following lines to the audit.rules file to enable auditing of administrative, privileged, and security actions: echo '-w /etc/audit/auditd.conf' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000180
- Vuln IDs
-
- V-89505
- Rule IDs
-
- SV-100155r1_rule
Checks: C-89197r2_chk
Check if the system is configured to audit calls to the "adjtimex" system call by running the following command: # grep -w "adjtimex" /etc/audit/audit.rules If the system is configured to audit time changes, it will return at least two lines containing "-S adjtimex" that also contain "arch=b64". If no line is returned, this is a finding.
Fix: F-96247r1_fix
Run the following command: echo '-a exit,always -F arch=b64 -S adjtimex -F auid=0' >> /etc/audit/audit.rules echo '-a exit,always -F arch=b64 -S adjtimex -F auid>=500 -F auid!=4294967295' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000185
- Vuln IDs
-
- V-89507
- Rule IDs
-
- SV-100157r1_rule
Checks: C-89199r2_chk
Check if the system is configured to audit calls to the "settimeofday" system call by running the following command: # grep -w "settimeofday" /etc/audit/audit.rules If the system is configured to audit this activity, it will return at least two lines containing "-S settimeofday" that also contain "arch=b64". If no line is returned, this is a finding.
Fix: F-96249r1_fix
Run the following command: echo '-a exit,always -F arch=b64 -S settimeofday -F auid=0' >> /etc/audit/audit.rules echo '-a exit,always -F arch=b64 -S settimeofday -F auid>=500 -F auid!=4294967295' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000190
- Vuln IDs
-
- V-89509
- Rule IDs
-
- SV-100159r1_rule
Checks: C-89201r1_chk
Check if the system is configured to audit calls to the "settimeofday" system call by running the following command: # grep -w "stime" /etc/audit/audit.rules If the system is configured to audit this activity, it will return at least two lines containing "-S settimeofday" that also contain "arch=b64". If no line is returned, this is a finding.
Fix: F-96251r1_fix
Run the following command: echo '-a exit,always -F arch=b64 -S stime' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000195
- Vuln IDs
-
- V-89511
- Rule IDs
-
- SV-100161r1_rule
Checks: C-89203r1_chk
Check if the system is configured to audit calls to the "clock_settime" system call by running the following command: # grep -w "clock_settime" /etc/audit/audit.rules If the system is configured to audit this activity, it will return at least a line containing "-S clock_settime" that also contain "arch=b64". If no line is returned, this is a finding.
Fix: F-96253r1_fix
Run the following command: echo '-a exit,always -F arch=b64 -S clock_settime' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000200
- Vuln IDs
-
- V-89513
- Rule IDs
-
- SV-100163r1_rule
Checks: C-89205r1_chk
To determine if the system is configured to audit attempts to alter time via the /etc/localtime file, run the following command: # auditctl -l | grep "watch=/etc/localtime" If the system is configured to audit this activity, it will return. LIST_RULES: exit,always watch=/etc/localtime perm=wa key=localtime If no line is returned, this is a finding.
Fix: F-96255r1_fix
To configure the system to audit attempts to alter time via the /etc/localtime file, run the following command: echo '-w /etc/localtime -p wa -k localtime' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000205
- Vuln IDs
-
- V-89515
- Rule IDs
-
- SV-100165r1_rule
Checks: C-89207r1_chk
Check if the system is configured to audit calls to the "sethostname" system call by running the following command: # grep -w "sethostname" /etc/audit/audit.rules If the system is configured to audit this activity, it will return at least one line. If no line is returned, this is a finding.
Fix: F-96257r1_fix
Run the following command: # echo '-a exit,always -F arch=b64 -S sethostname' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000210
- Vuln IDs
-
- V-89517
- Rule IDs
-
- SV-100167r1_rule
Checks: C-89209r1_chk
Check if the system is configured to audit calls to the "sethostname" system call by running the following command: # grep -w "setdomainname" /etc/audit/audit.rules If the system is configured to audit this activity, it will return a line. If no line is returned, this is a finding.
Fix: F-96259r1_fix
Run the following command: # echo '-a exit,always -F arch=b64 -S setdomainname' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000215
- Vuln IDs
-
- V-89519
- Rule IDs
-
- SV-100169r1_rule
Checks: C-89211r1_chk
Check if the system is configured to audit calls to the "sethostname" system call by running the following command: # grep -w "sched_setparam" /etc/audit/audit.rules If the system is configured to audit this activity, it will return a line. If no line is returned, this is a finding.
Fix: F-96261r1_fix
Run the following command: echo '-a exit,always -F arch=b64 -S sched_setparam' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000220
- Vuln IDs
-
- V-89521
- Rule IDs
-
- SV-100171r1_rule
Checks: C-89213r1_chk
Check if the system is configured to audit calls to the "sethostname" system call by running the following command: # grep -w "sched_setscheduler" /etc/audit/audit.rules If the system is configured to audit this activity, it will return a line. If no line is returned, this is a finding.
Fix: F-96263r1_fix
Run the following command: echo '-a exit,always -F arch=b64 -S sched_setscheduler' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000225
- Vuln IDs
-
- V-89523
- Rule IDs
-
- SV-100173r1_rule
Checks: C-89215r1_chk
Verify that attempts to alter the log files /var/log/faillog are audited: # egrep "faillog" /etc/audit/audit.rules If "-w /var/log/faillog -p wa" entry does not exist, this is a finding.
Fix: F-96265r1_fix
Ensure attempts to alter /var/log/faillog are audited by modifying /etc/audit/audit.rules to contain -w /var/log/faillog -p wa with the following command: echo '-w /var/log/faillog -p wa' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000230
- Vuln IDs
-
- V-89525
- Rule IDs
-
- SV-100175r1_rule
Checks: C-89217r1_chk
Verify that attempts to alter the log files /var/log/lastlog are audited: # egrep "lastlog" /etc/audit/audit.rules If "-w /var/log/lastlog -p wa" entry does not exist, this is a finding.
Fix: F-96267r1_fix
Ensure attempts to alter /var/log/lastlog are audited by modifying /etc/audit/audit.rules to contain -w /var/log/lastlog -p wa with the following command: echo '-w /var/log/lastlog -p wa' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000169
- Version
- VRAU-SL-000235
- Vuln IDs
-
- V-89527
- Rule IDs
-
- SV-100177r1_rule
Checks: C-89219r1_chk
Verify that attempts to alter the log files /var/log/tallylog are audited: # egrep "tallylog" /etc/audit/audit.rules If "-w /var/log/tallylog -p wa" entry does not exist, this is a finding.
Fix: F-96269r1_fix
Ensure attempts to alter /var/log/tallylog are audited by modifying /etc/audit/audit.rules to contain "-w /var/log/tallylog -p wa" with the following command: echo '-w /var/log/tallylog -p wa' >> /etc/audit/audit.rules Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000171
- Version
- VRAU-SL-000240
- Vuln IDs
-
- V-89529
- Rule IDs
-
- SV-100179r1_rule
Checks: C-89221r1_chk
Check the permissions of the rules files in /etc/audit: # ls -l /etc/audit/ NOTE: If /etc/audit/audit.rules is a symblic link to /etc/audit/audit.rules.STIG, then the check is only applicable to /etc/audit/audit.rules.STIG. If the permissions of the file is not set to "640", this is a finding.
Fix: F-96271r1_fix
Change the permissions of the /etc/audit/audit.rules.STIG, the /etc/audit/audit.rules.ORIG, and the /etc/audit/audit.rules files (if not a symblic link): # chmod 640 /etc/audit/audit.rules.STIG # chmod 640 /etc/audit/audit.rules.ORIG # if [ -f /etc/audit/audit.rules ]; then chmod 640 /etc/audit/audit.rules; fi Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000171
- Version
- VRAU-SL-000245
- Vuln IDs
-
- V-89531
- Rule IDs
-
- SV-100181r1_rule
Checks: C-89223r1_chk
Check the permissions of the rules files in /etc/audit: # ls -l /etc/audit/ NOTE: If /etc/audit/audit.rules is a symblic link to /etc/audit/audit.rules.STIG, then the check is only applicable to /etc/audit/audit.rules.STIG If the ownership is not set to "root", this is a finding.
Fix: F-96273r1_fix
Change the ownership of the /etc/audit/audit.rules.STIG, the /etc/audit/audit.rules.ORIG, and the /etc/audit/audit.rules files (if not a symblic link): # chown root /etc/audit/audit.rules.STIG # chown root /etc/audit/audit.rules.ORIG # if [ -f /etc/audit/audit.rules ]; then chown root /etc/audit/audit.rules; fi Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000171
- Version
- VRAU-SL-000250
- Vuln IDs
-
- V-89533
- Rule IDs
-
- SV-100183r1_rule
Checks: C-89225r1_chk
Check the permissions of the rules files in /etc/audit: # ls -l /etc/audit/ NOTE: If /etc/audit/audit.rules is a symblic link to /etc/audit/audit.rules.STIG, then the check is only applicable to /etc/audit/audit.rules.STIG. If the group-owner is not set to "root", this is a finding.
Fix: F-96275r1_fix
Change the group-ownership of the /etc/audit/audit.rules.STIG, the /etc/audit/audit.rules.ORIG, and the /etc/audit/audit.rules files (if not a symblic link): # chgrp root /etc/audit/audit.rules.STIG # chgrp root /etc/audit/audit.rules.ORIG # if [ -f /etc/audit/audit.rules ]; then chgrp root /etc/audit/audit.rules; fi Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000255
- Vuln IDs
-
- V-89535
- Rule IDs
-
- SV-100185r1_rule
Checks: C-89227r1_chk
To determine if the system is configured to audit calls to the "chmod" system call, run the following command: # auditctl -l | grep syscall | grep chmod If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid=0 syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid>=500 (0x1f4) auid!=-1 (0xffffffff) syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat If no lines are returned, this is a finding.
Fix: F-96277r1_fix
At a minimum, the audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S chmod -F auid=0 -a always,exit -F arch=b64 -S chmod -F auid>=500 -F auid!=4294967295 Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000260
- Vuln IDs
-
- V-89537
- Rule IDs
-
- SV-100187r1_rule
Checks: C-89229r2_chk
To determine if the system is configured to audit calls to the "chown" system call, run the following command: # auditctl -l | grep syscall | grep chown If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid=0 syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid>=500 (0x1f4) auid!=-1 (0xffffffff) syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat If no lines are returned, this is a finding.
Fix: F-96279r1_fix
At a minimum, the audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S chown -F auid=0 -a always,exit -F arch=b64 -S chown -F auid>=500 -F auid!=4294967295 Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000265
- Vuln IDs
-
- V-89539
- Rule IDs
-
- SV-100189r1_rule
Checks: C-89231r1_chk
To determine if the system is configured to audit calls to the "fchmod" system call, run the following command: # auditctl -l | grep syscall | grep fchmod If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid=0 syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid>=500 (0x1f4) auid!=-1 (0xffffffff) syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat If no lines are returned, this is a finding.
Fix: F-96281r1_fix
At a minimum, the SLES for vRealize audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S fchmod -F auid=0 -a always,exit -F arch=b64 -S fchmod -F auid>=500 -F auid!=4294967295 Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000270
- Vuln IDs
-
- V-89541
- Rule IDs
-
- SV-100191r1_rule
Checks: C-89233r1_chk
To determine if the system is configured to audit calls to the "fchmodat" system call, run the following command: # auditctl -l | grep syscall | grep fchmodat If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid=0 syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid>=500 (0x1f4) auid!=-1 (0xffffffff) syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat If no lines are returned, this is a finding.
Fix: F-96283r1_fix
At a minimum, the SLES for vRealize audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S fchmodat -F auid=0 -a always,exit -F arch=b64 -S fchmodat -F auid>=500 -F auid!=4294967295 Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000275
- Vuln IDs
-
- V-89543
- Rule IDs
-
- SV-100193r1_rule
Checks: C-89235r1_chk
To determine if the system is configured to audit calls to the "fchown" system call, run the following command: # auditctl -l | grep syscall | grep fchown If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid=0 syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid>=500 (0x1f4) auid!=-1 (0xffffffff) syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat If no lines are returned, this is a finding.
Fix: F-96285r2_fix
At a minimum, the SLES for vRealize audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S fchown -F auid=0 -a always,exit -F arch=b64 -S fchown -F auid>=500 -F auid!=4294967295 -a always,exit -F arch=b32 -S fchown -a always,exit -F arch=b32 -S fchown32 Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000280
- Vuln IDs
-
- V-89545
- Rule IDs
-
- SV-100195r1_rule
Checks: C-89237r1_chk
To determine if the system is configured to audit calls to the "fchownat" system call, run the following command: # auditctl -l | grep syscall | grep fchownat If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid=0 syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid>=500 (0x1f4) auid!=-1 (0xffffffff) syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat If no lines are returned, this is a finding.
Fix: F-96287r1_fix
At a minimum, the SLES for vRealize audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S fchownat -F auid=0 -a always,exit -F arch=b64 -S fchownat -F auid>=500 -F auid!=4294967295 Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000285
- Vuln IDs
-
- V-89547
- Rule IDs
-
- SV-100197r1_rule
Checks: C-89239r1_chk
To determine if the system is configured to audit calls to the "fremovexattr" system call, run the following command: # auditctl -l | grep syscall | grep fremovexattr If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) syscall=lchown,sethostname,init_module,delete_module,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,clock_settime If no lines are returned, this is a finding.
Fix: F-96289r1_fix
At a minimum, the SLES for vRealize audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S fremovexattr Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000290
- Vuln IDs
-
- V-89549
- Rule IDs
-
- SV-100199r1_rule
Checks: C-89241r1_chk
To determine if the system is configured to audit calls to the "fsetxattr" system call, run the following command: # auditctl -l | grep syscall | grep fsetxattr If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) syscall=lchown,sethostname,init_module,delete_module,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,clock_settime If no lines are returned, this is a finding.
Fix: F-96291r1_fix
At a minimum, the SLES for vRealize audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S fsetxattr Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000295
- Vuln IDs
-
- V-89551
- Rule IDs
-
- SV-100201r1_rule
Checks: C-89243r1_chk
To determine if the system is configured to audit calls to the "lchown" system call, run the following command: # auditctl -l | grep syscall | grep lchown If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) syscall=lchown,sethostname,init_module,delete_module,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,clock_settime If no lines are returned, this is a finding.
Fix: F-96293r1_fix
At a minimum, the SLES for vRealize audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S lchown Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000300
- Vuln IDs
-
- V-89553
- Rule IDs
-
- SV-100203r1_rule
Checks: C-89245r1_chk
To determine if the system is configured to audit calls to the "lremovexattr" system call, run the following command: # auditctl -l | grep syscall | grep lremovexattr If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) syscall=lchown,sethostname,init_module,delete_module,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,clock_settime If no lines are returned, this is a finding.
Fix: F-96295r1_fix
At a minimum, the SLES for vRealize audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S lremovexattr Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000305
- Vuln IDs
-
- V-89555
- Rule IDs
-
- SV-100205r1_rule
Checks: C-89247r1_chk
To determine if the system is configured to audit calls to the "lsetxattr" system call, run the following command: # auditctl -l | grep syscall | grep lsetxattr If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) syscall=lchown,sethostname,init_module,delete_module,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,clock_settime If no lines are returned, this is a finding.
Fix: F-96297r1_fix
At a minimum, the SLES for vRealize audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S lsetxattr Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000310
- Vuln IDs
-
- V-89557
- Rule IDs
-
- SV-100207r1_rule
Checks: C-89249r1_chk
To determine if the system is configured to audit calls to the "removexattr" system call, run the following command: # auditctl -l | grep syscall | grep removexattr If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) syscall=lchown,sethostname,init_module,delete_module,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,clock_settime If no lines are returned, this is a finding.
Fix: F-96299r1_fix
At a minimum, the SLES for vRealize audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S removexattr Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000315
- Vuln IDs
-
- V-89559
- Rule IDs
-
- SV-100209r1_rule
Checks: C-89251r1_chk
To determine if the system is configured to audit calls to the "setxattr" system call, run the following command: # auditctl -l | grep syscall | grep setxattr If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) syscall=lchown,sethostname,init_module,delete_module,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,clock_settime If no lines are returned, this is a finding.
Fix: F-96301r1_fix
At a minimum, the SLES for vRealize audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S setxattr Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-000320
- Vuln IDs
-
- V-89561
- Rule IDs
-
- SV-100211r1_rule
Checks: C-89253r1_chk
To check that the audit system collects unauthorized file accesses, run the following commands: # grep EACCES /etc/audit/audit.rules -a exit,always -F arch=b64 -S swapon -F exit=-EACCES -a exit,always -F arch=b64 -S creat -F exit=-EACCES -a exit,always -F arch=b64 -S open -F exit=-EACCES # grep EPERM /etc/audit/audit.rules -a exit,always -F arch=b64 -S swapon -F exit=-EPERM -a exit,always -F arch=b64 -S creat -F exit=-EPERM -a exit,always -F arch=b64 -S open -F exit=-EPERM If either command lacks output, this is a finding.
Fix: F-96303r1_fix
Add the following to "/etc/audit/audit.rules": -a exit,always -F arch=b64 -S swapon -F exit=-EACCES -a exit,always -F arch=b64 -S creat -F exit=-EACCES -a exit,always -F arch=b64 -S open -F exit=-EACCES -a exit,always -F arch=b64 -S swapon -F exit=-EPERM -a exit,always -F arch=b64 -S creat -F exit=-EPERM -a exit,always -F arch=b64 -S open -F exit=-EPERM Or run the following command to implement all logging requirements: # /etc/dodscript.sh
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000192
- Version
- VRAU-SL-000340
- Vuln IDs
-
- V-89563
- Rule IDs
-
- SV-100213r1_rule
Checks: C-89255r1_chk
Check the SLES for vRealize enforces password complexity by requiring that at least one upper-case character be used by using the following command: # grep ucredit /etc/pam.d/common-password-vmware.local If "ucredit" is not set to "-1" or not at all, this is a finding. Expected Result: password requisite pam_cracklib.so dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 minlen=14 difok=4 retry=3
Fix: F-96305r1_fix
If "ucredit" was not set at all in /etc/pam.d/common-password-vmware.local then run the following command: # sed -i '/pam_cracklib.so/ s/$/ ucredit=-1/' /etc/pam.d/common-password-vmware.local If "ucredit" was set incorrectly then run the following command to set it to "-1": # sed -i '/pam_cracklib.so/ s/ucredit=../ucredit=-1/' /etc/pam.d/common-password-vmware.local
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000192
- Version
- VRAU-SL-000345
- Vuln IDs
-
- V-89565
- Rule IDs
-
- SV-100215r1_rule
Checks: C-89257r1_chk
Verify that common-{account,auth,password,session} settings are being applied. Verify that local customization has occurred in the common- {account,auth,password,session}-pc file(s) by some method other than the use of the pam-config utility. The files "/etc/pam.d/common-{account,auth,password,session} -pc " are auto-generated by "pam-config". Any manual changes made to them will be lost if "pam-config" is allowed to run. # ls -l /etc/pam.d/common-{account,auth,password,session} If the symlinks point to "/etc/pam.d/common- {account,auth,password,session}-pc" and manual updates have been made in these files, the updates cannot be protected if pam-config is enabled. # ls -l /usr/sbin/pam-config If the setting for "pam-config" is not "000", this is a finding.
Fix: F-96307r1_fix
In the default distribution of SLES 11, "/etc/pam.d/common- {account,auth,password,session}" are symlinks to their respective "/etc/pam.d/common- {account,auth,password,session}-pc" files. These common- {account,auth,password,session}-pc files are auto-generated by the pam-config utility. Edit /usr/sbin/pam-config permissions to prevent its use: # chmod 000 /usr/sbin/pam-config
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000193
- Version
- VRAU-SL-000350
- Vuln IDs
-
- V-89567
- Rule IDs
-
- SV-100217r1_rule
Checks: C-89259r1_chk
Verify the SLES for vRealize enforces password complexity by requiring that at least one lower-case character be used by using the following command: # grep lcredit /etc/pam.d/common-password-vmware.local If "lcredit" is not set to "-1" or not at all, this is a finding. Expected Result: password requisite pam_cracklib.so dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 minlen=14 difok=4 retry=3
Fix: F-96309r1_fix
If "lcredit" was not set at all in /etc/pam.d/common-password-vmware.local then run the following command: # sed -i '/pam_cracklib.so/ s/$/ lcredit=-1/' /etc/pam.d/common-password-vmware.local If "lcredit" was set incorrectly then run the following command to set it to "-1": # sed -i '/pam_cracklib.so/ s/lcredit=../lcredit=-1/' /etc/pam.d/common-password-vmware.local
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000194
- Version
- VRAU-SL-000355
- Vuln IDs
-
- V-89569
- Rule IDs
-
- SV-100219r1_rule
Checks: C-89261r1_chk
Check that the SLES for vRealize enforces password complexity by requiring that at least one numeric character be used by running the following command: # grep dcredit /etc/pam.d/common-password-vmware.local If "dcredit" is not set to "-1" or is not set at all, this is a finding. Expected Result: password requisite pam_cracklib.so dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 minlen=14 difok=4 retry=3
Fix: F-96311r1_fix
If "dcredit" was not set at all in /etc/pam.d/common-password-vmware.local, run the following command: # sed -i '/pam_cracklib.so/ s/$/ dcredit=-1/' /etc/pam.d/common-password-vmware.local If "dcredit" was set incorrectly, run the following command: # sed -i '/pam_cracklib.so/ s/dcredit=../dcredit=-1/' /etc/pam.d/common-password-vmware.local
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000195
- Version
- VRAU-SL-000360
- Vuln IDs
-
- V-89571
- Rule IDs
-
- SV-100221r1_rule
Checks: C-89263r1_chk
Check that at least eight characters need to be changed between old and new passwords during a password change by running the following command: # grep pam_cracklib /etc/pam.d/common-password-vmware.local The "difok" parameter indicates how many characters must be different. The DoD requires at least eight characters to be different during a password change. This would appear as "difok=8". If difok is not found or not set to at least "8", this is a finding. Expected Result: password requisite pam_cracklib.so dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 minlen=14 difok=8 retry=3
Fix: F-96313r2_fix
If "difok" was not set at all in /etc/pam.d/common-password-vmware.local then run the following command: # sed -i '/pam_cracklib.so/ s/$/ difok-8/' /etc/pam.d/common-password-vmware.local If "difok" was set incorrectly then run the following command to set it to "8": # sed -i '/pam_cracklib.so/ s/difok=./difok=8/' /etc/pam.d/common-password-vmware.local
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000196
- Version
- VRAU-SL-000365
- Vuln IDs
-
- V-89573
- Rule IDs
-
- SV-100223r1_rule
Checks: C-89265r1_chk
Check that the user account passwords are stored hashed using sha512 by running the following command: # more /etc/shadow If the password hash does not begins with "$6$" for user accounts such as "root" or "admin", this is a finding.
Fix: F-96315r1_fix
Reset the user password using the following command: # passwd [user account]
- RMF Control
- IA-5
- Severity
- H
- CCI
- CCI-000196
- Version
- VRAU-SL-000370
- Vuln IDs
-
- V-89575
- Rule IDs
-
- SV-100225r1_rule
Checks: C-89267r2_chk
Check that the user account passwords are stored hashed using sha512 by running the following command: # cat /etc/default/passwd | grep CRYPT=sha512 If "CRYPT=sha512" is not listed, this is a finding.
Fix: F-96317r1_fix
Ensure password are being encrypted with hash sha512 with the following command: # echo 'CRYPT=sha512'>>/etc/default/passwd
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000198
- Version
- VRAU-SL-000380
- Vuln IDs
-
- V-89577
- Rule IDs
-
- SV-100227r1_rule
Checks: C-89269r1_chk
To check that the SLES for vRealize enforces 24 hours/1 day as the minimum password age, run the following command: # grep PASS_MIN_DAYS /etc/login.defs | grep -v '#' The DoD requirement is "1". If "PASS_MIN_DAYS" is not set to the required value, this is a finding.
Fix: F-96319r1_fix
To configure the SLES for vRealize to enforce 24 hours/1 day as the minimum password age, edit the file "/etc/login.defs" with the following command: # sed -i "/^[^#]*PASS_MIN_DAYS/ c\PASS_MIN_DAYS 1" /etc/login.defs
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000198
- Version
- VRAU-SL-000385
- Vuln IDs
-
- V-89579
- Rule IDs
-
- SV-100229r1_rule
Checks: C-89271r1_chk
Check the minimum time period between password changes for each user account is 1 day. # cat /etc/shadow | cut -d ':' -f1,4 | grep -v 1 | grep -v ":$" If any results are returned, this is a finding.
Fix: F-96321r1_fix
Change the minimum time period between password changes for each [USER] account to 1 day. The command in the check text will give you a list of users that need to be updated to be in compliance. # passwd -n 1 [USER]
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000199
- Version
- VRAU-SL-000390
- Vuln IDs
-
- V-89581
- Rule IDs
-
- SV-100231r1_rule
Checks: C-89273r1_chk
To check that the SLES for vRealize enforces a 60-days or less maximum password age, run the following command: # grep PASS_MAX_DAYS /etc/login.defs | grep -v "#" The DoD requirement is "60" days or less (greater than zero, as zero days will lock the account immediately). If "PASS_MAX_DAYS" is not set to the required value, this is a finding.
Fix: F-96323r1_fix
To configure the SLES for vRealize to enforce a 60-day or less maximum password age, edit the file "/etc/login.defs" and add or correct the following line. Replace [DAYS] with the appropriate amount of days. # sed -i "/^[^#]*PASS_MAX_DAYS/ c\PASS_MAX_DAYS 60" /etc/login.defs The DoD requirement is "60" days or less (greater than zero, as zero days will lock the account immediately).
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000199
- Version
- VRAU-SL-000395
- Vuln IDs
-
- V-89583
- Rule IDs
-
- SV-100233r1_rule
Checks: C-89275r1_chk
Check the max days field of /etc/shadow by running the following command: # cat /etc/shadow | cut -d':' -f1,5 | egrep -v "([0|60])" | grep -v ":$" If any results are returned, this is a finding.
Fix: F-96325r1_fix
Set the maximum time period between password changes for each [USER] account to "60" days. The command in the check text will give you a list of users that need to be updated to be in compliance. # passwd -x 60 [USER] The DoD requirement is "60" days.
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000200
- Version
- VRAU-SL-000400
- Vuln IDs
-
- V-89585
- Rule IDs
-
- SV-100235r1_rule
Checks: C-89277r1_chk
Verify that the SLES for vRealize prohibits the reuse of a password for a minimum of five generations by running the following commands: # grep pam_pwhistory.so /etc/pam.d/common-password-vmware.local If the "remember" option in /etc/pam.d/common-password-vmware.local is not "5" or greater, this is a finding.
Fix: F-96327r1_fix
Configure pam to use password history. If "remember" was not set at all in /etc/pam.d/common-password-vmware.local, run the following command: # sed -i '/pam_cracklib.so/ s/$/ remember=5/' /etc/pam.d/common-password-vmware.local If "remember" was set incorrectly, run the following command to set it to "5": # sed -i '/pam_cracklib.so/ s/remember=./remember=5/' /etc/pam.d/common-password-vmware.local
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000200
- Version
- VRAU-SL-000405
- Vuln IDs
-
- V-89587
- Rule IDs
-
- SV-100237r1_rule
Checks: C-89279r2_chk
Verify that the old password file "opasswd" exists, by running the following command: # ls /etc/security/opasswd If "/etc/security/opasswd" does not exist, this is a finding.
Fix: F-96329r2_fix
Create the password history file. # touch /etc/security/opasswd # chown root:root /etc/security/opasswd # chmod 0600 /etc/security/opasswd
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-000205
- Version
- VRAU-SL-000410
- Vuln IDs
-
- V-89589
- Rule IDs
-
- SV-100239r1_rule
Checks: C-89281r1_chk
Verify that the SLES for vRealize enforces a minimum 15-character password length by running the following command: # grep pam_cracklib /etc/pam.d/common-password-vmware.local # grep pam_cracklib /etc/pam.d/common-password If "minlen" is not set to "15" or higher, this is a finding.
Fix: F-96331r1_fix
If "minlen" was not set at all in /etc/pam.d/common-password-vmware.local, run the following command: # sed -i '/pam_cracklib.so/ s/$/ minlen=15/' /etc/pam.d/common-password-vmware.local If "minlen" was set incorrectly then run the following command to set it to "15": # sed -i '/pam_cracklib.so/ s/minlen=../minlen=15/' /etc/pam.d/common-password-vmware.local
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- VRAU-SL-000420
- Vuln IDs
-
- V-89591
- Rule IDs
-
- SV-100241r1_rule
Checks: C-89283r1_chk
Verify that root password is required for single user mode login with the following command: # grep sulogin /etc/inittab Expected result: ~~:S:respawn:/sbin/sulogin If the expected result is not displayed, this is a finding.
Fix: F-96333r1_fix
Configure the system to require root password login with single user mode use the following command: # echo '~~:S:respawn:/sbin/sulogin' >> /etc/inittab
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- VRAU-SL-000425
- Vuln IDs
-
- V-89593
- Rule IDs
-
- SV-100243r1_rule
Checks: C-89285r1_chk
To verify a boot password exists, in /boot/grub/menu.lst run the following command: # grep password /boot/grub/menu.lst The output should show the following: password --encrypted $1$[rest-of-the-password-hash] If it does not, this is a finding.
Fix: F-96335r1_fix
Run the following command: # /usr/sbin/grub-md5-crypt An MD5 password is generated. After the password is supplied, the command supplies the md5 hash output. Append the password to the "menu.lst" file by running the following command: echo 'password --md5 <hash from grub-md5-crypt>' >> /boot/grub/menu.lst Or use yast2 to set the bootloader password. Open the Boot Loader Installation tab. Click "Boot Loader Options". Activate the Protect Boot Loader with Password option with a click and type in the password twice. Click "OK" twice to save the changes.
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- VRAU-SL-000430
- Vuln IDs
-
- V-89595
- Rule IDs
-
- SV-100245r1_rule
Checks: C-89287r1_chk
Check the /boot/grub/menu.lst file: # stat /boot/grub/menu.lst If /boot/grub/menu.lst has a mode more permissive than "0600", this is a finding.
Fix: F-96337r1_fix
Change the mode of the menu.lst file to "0600": # chmod 0600 /boot/grub/menu.lst
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- VRAU-SL-000435
- Vuln IDs
-
- V-89597
- Rule IDs
-
- SV-100247r1_rule
Checks: C-89289r1_chk
Check /boot/grub/menu.lst ownership: # stat /boot/grub/menu.lst If the owner of the file is not "root", this is a finding.
Fix: F-96339r1_fix
Change the ownership of the file: # chown root /boot/grub/menu.lst
- RMF Control
- AC-3
- Severity
- M
- CCI
- CCI-000213
- Version
- VRAU-SL-000440
- Vuln IDs
-
- V-89599
- Rule IDs
-
- SV-100249r1_rule
Checks: C-89291r2_chk
Check /boot/grub/menu.lst ownership: # stat /boot/grub/menu.lst If the group-owner of the file is not "root", "bin", "sys", or "system", this is a finding.
Fix: F-96341r1_fix
Change the group-ownership of the file: # chgrp root /boot/grub/menu.lst
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VRAU-SL-000445
- Vuln IDs
-
- V-89601
- Rule IDs
-
- SV-100251r1_rule
Checks: C-89293r1_chk
Verify the Bluetooth protocol handler is prevented from dynamic loading: # grep "install bluetooth /bin/true" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-96343r1_fix
Prevent the Bluetooth protocol handler for dynamic loading: # echo "install bluetooth /bin/true" >> /etc/modprobe.conf.local
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VRAU-SL-000450
- Vuln IDs
-
- V-89603
- Rule IDs
-
- SV-100253r1_rule
Checks: C-89295r1_chk
If the system needs USB storage, this vulnerability is not applicable. Check if "usb-storage" is prevented from loading: # grep "install usb-storage /bin/true" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* If no results are returned, this is a finding.
Fix: F-96345r1_fix
Prevent the "usb-storage" module from loading: # echo "install usb-storage /bin/true" >> /etc/modprobe.conf.local
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VRAU-SL-000455
- Vuln IDs
-
- V-89605
- Rule IDs
-
- SV-100255r1_rule
Checks: C-89297r1_chk
If the system needs USB, this vulnerability is not applicable. Check if the directory /proc/bus/usb exists. If the directory /proc/bus/usb exists, this is a finding.
Fix: F-96347r1_fix
Edit the grub bootloader file /boot/grub/menu.lst by appending the "nousb" parameter to the kernel boot line.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VRAU-SL-000460
- Vuln IDs
-
- V-89607
- Rule IDs
-
- SV-100257r1_rule
Checks: C-89299r1_chk
Check if "telnet-server" is installed: # rpm -q telnet-server If there is a "telnet-server" package listed, this is a finding.
Fix: F-96349r1_fix
To remove the "telnet-server" package use the following command: rpm -e telnet-server
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VRAU-SL-000465
- Vuln IDs
-
- V-89609
- Rule IDs
-
- SV-100259r1_rule
Checks: C-89301r1_chk
Check if "rsh-server" is installed: # rpm -q rsh-server If an "rsh-server" package is listed, this is a finding.
Fix: F-96351r1_fix
To remove the "telnet-server" package, use the following command: rpm -e rsh-server
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VRAU-SL-000470
- Vuln IDs
-
- V-89611
- Rule IDs
-
- SV-100261r1_rule
Checks: C-89303r1_chk
Check if "ypserv" is installed: # rpm -q ypserv If there is a "ypserv" package listed, this is a finding.
Fix: F-96353r1_fix
To remove the "telnet-server" package use the following command: rpm -e ypserv
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VRAU-SL-000475
- Vuln IDs
-
- V-89613
- Rule IDs
-
- SV-100263r1_rule
Checks: C-89305r1_chk
Check if "yast2-tftp-server" is installed: # rpm -q yast2-tftp-server If a "yast2-tftp-server" package is listed, this is a finding.
Fix: F-96355r1_fix
To remove the "yast2-tftp-server" package, use the following command: rpm -e yast2-tftp-server
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000381
- Version
- VRAU-SL-000490
- Vuln IDs
-
- V-89615
- Rule IDs
-
- SV-100265r1_rule
Checks: C-89307r1_chk
Check if "tftp" is installed: # rpm -q tftp If there is a "tftp" package listed, this is a finding.
Fix: F-96357r1_fix
To remove the "tftp" package use the following command: rpm -e tftp
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000495
- Vuln IDs
-
- V-89617
- Rule IDs
-
- SV-100267r1_rule
Checks: C-89309r1_chk
Check that the DCCP protocol handler is prevented from dynamic loading: # grep "install dccp /bin/true" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* If no result is returned, this is a finding. # grep "install dccp_ipv4 /bin/true" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* If no result is returned, this is a finding. # grep "install dccp_ipv6" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* | grep ‘bin/true’ If no result is returned, this is a finding.
Fix: F-96359r1_fix
Prevent the DCCP protocol handler for dynamic loading: # echo "install dccp /bin/true" >> /etc/modprobe.conf.local # echo "install dccp_ipv4 /bin/true" >> /etc/modprobe.conf.local # echo "install dccp_ipv6 /bin/true" >> /etc/modprobe.conf.local
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000500
- Vuln IDs
-
- V-89619
- Rule IDs
-
- SV-100269r1_rule
Checks: C-89311r1_chk
Verify the SCTP protocol handler is prevented from dynamic loading: # grep "install sctp /bin/true" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-96361r1_fix
Prevent the SCTP protocol handler for dynamic loading: # echo "install sctp /bin/true" >> /etc/modprobe.conf.local
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000505
- Vuln IDs
-
- V-89621
- Rule IDs
-
- SV-100271r1_rule
Checks: C-89313r1_chk
Ask the SA if RDS is required by application software running on the system. If so, this is not applicable. Check that the RDS protocol handler is prevented from dynamic loading: # grep "install rds /bin/true" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-96363r1_fix
Prevent the use of RDS protocol handler for dynamic loading: # echo "install rds /bin/true" >> /etc/modprobe.conf.local
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000510
- Vuln IDs
-
- V-89623
- Rule IDs
-
- SV-100273r1_rule
Checks: C-89315r1_chk
Verify the TIPC protocol handler is prevented from dynamic loading: # grep "install tipc /bin/true" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-96365r1_fix
Prevent the TIPC protocol handler for dynamic loading: # echo "install tipc /bin/true" >> /etc/modprobe.conf.local
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000515
- Vuln IDs
-
- V-89625
- Rule IDs
-
- SV-100275r1_rule
Checks: C-89317r1_chk
If network services are using the "xinetd" service, this is not applicable. To check that the "xinetd" service is disabled in system boot configuration, run the following command: # chkconfig "xinetd" --list Output should indicate the "xinetd" service has either not been installed or has been disabled at all run levels as shown in the example below: xinetd 0:off 1:off 2:off 3:off 4:off 5:off 6:off Run the following command to verify "xinetd" is disabled through current runtime configuration: # service xinetd status If the service is disabled, the command will return the following output: Checking for service xinetd: unused If the service is running, this is a finding.
Fix: F-96367r1_fix
The "xinetd" service can be disabled with the following command: # chkconfig xinetd off
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000520
- Vuln IDs
-
- V-89627
- Rule IDs
-
- SV-100277r1_rule
Checks: C-89319r1_chk
Check the owner of the "xinetd" configuration files: # ls -lL /etc/xinetd.conf # ls -laL /etc/xinetd.d This is a finding if any of the above files or directories are not owned by "root" or "bin".
Fix: F-96369r1_fix
Change the owner of the "xinetd" configuration files: # chown root /etc/xinetd.conf /etc/xinetd.d/*
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000525
- Vuln IDs
-
- V-89629
- Rule IDs
-
- SV-100279r1_rule
Checks: C-89321r1_chk
Check the group-ownership of the "xinetd" configuration files and directories: # ls -alL /etc/xinetd.conf /etc/xinetd.d If a file or directory is not group-owned by "root", "bin", "sys", or "system", this is a finding.
Fix: F-96371r1_fix
Change the group-owner of the "xinetd" configuration files and directories: # chgrp -R root /etc/xinetd.conf /etc/xinetd.d
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000530
- Vuln IDs
-
- V-89631
- Rule IDs
-
- SV-100281r1_rule
Checks: C-89323r1_chk
Check the permissions of the "xinetd" configuration directories: # ls -dlL /etc/xinetd.d If the mode of the directory is more permissive than "0755", this is a finding.
Fix: F-96373r1_fix
Change the mode of the directory: # chmod 0755 /etc/xinetd.d
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000535
- Vuln IDs
-
- V-89633
- Rule IDs
-
- SV-100283r1_rule
Checks: C-89325r1_chk
Examine the /etc/xinetd.conf file and each file in the /etc/xinetd.d directory file for the following: log_type = SYSLOG authpriv log_on_success = HOST PID USERID EXIT log_on_failure = HOST USERID If "xinetd" running and logging is not enabled, this is a finding.
Fix: F-96375r1_fix
Edit each file in the /etc/xinetd.d directory and the /etc/xinetd.conf file to contain: log_type = SYSLOG authpriv log_on_success = HOST PID USERID EXIT log_on_failure = HOST USERID The /etc/xinetd.conf file contains default values that will hold true for all services unless individually modified in the service's "xinetd.d" file.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000540
- Vuln IDs
-
- V-89635
- Rule IDs
-
- SV-100285r1_rule
Checks: C-89327r1_chk
If network services are using the "ypbind" service, this is not applicable. To check that the "ypbind" service is disabled in system boot configuration, run the following command: # chkconfig "ypbind" --list Output should indicate the "ypbind" service has either not been installed, or has been disabled at all run levels, as shown in the example below: ypbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off Run the following command to verify "ypbind" is disabled through current runtime configuration: # service ypbind status If the service is disabled the command will return the following output: Checking for service ypbind unused If the service is running, this is a finding.
Fix: F-96377r1_fix
The "ypbind" service can be disabled with the following command: # chkconfig ypbind off
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000545
- Vuln IDs
-
- V-89637
- Rule IDs
-
- SV-100287r1_rule
Checks: C-89329r1_chk
If the SLES for vRealize does not use NIS or NIS+, this is not applicable. Check if NIS or NIS+ is implemented using UDP: # rpcinfo -p | grep yp | grep udp If NIS or NIS+ is implemented using UDP, this is a finding.
Fix: F-96379r1_fix
Configure the SLES for vRealize to not use UDP for NIS and NIS+. Consult vendor documentation for the required procedure.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000550
- Vuln IDs
-
- V-89639
- Rule IDs
-
- SV-100289r1_rule
Checks: C-89331r1_chk
If the SLES for vRealize does not use NIS or NIS+, this is not applicable. Check the domain name for NIS maps: # 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-96381r1_fix
Change the NIS domain name to a value difficult to guess. Consult vendor documentation for the required procedure.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000555
- Vuln IDs
-
- V-89641
- Rule IDs
-
- SV-100291r1_rule
Checks: C-89333r1_chk
Determine if Sendmail only binds to loopback addresses by examining the "DaemonPortOptions" configuration options. # grep -i "O DaemonPortOptions" /etc/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. # grep -i promiscuous_relay /etc/mail/sendmail.mc If the promiscuous relay feature is enabled, this is a finding.
Fix: F-96383r1_fix
If the SLES for vRealize 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. # sed -i "s/O DaemonPortOptions=Name=MTA/O DaemonPortOptions=Addr=127.0.0.1,Port=smtp,Name=MTA/" /etc/sendmail.cf Restart the sendmail service: # service sendmail restart
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000560
- Vuln IDs
-
- V-89643
- Rule IDs
-
- SV-100293r1_rule
Checks: C-89335r1_chk
Check the ownership of the alias file: # ls -lL /etc/aliases # ls -lL /etc/aliases.db If all the files are not owned by "root", this is a finding.
Fix: F-96385r1_fix
Change the owner of the alias files to "root": # chown root /etc/aliases # chown root /etc/aliases.db
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000565
- Vuln IDs
-
- V-89645
- Rule IDs
-
- SV-100295r1_rule
Checks: C-89337r1_chk
Check the group-ownership of the alias files: # ls -lL /etc/aliases # ls -lL /etc/aliases.db If the files are not group-owned by "root", this is a finding.
Fix: F-96387r1_fix
Change the group-owner of the alias files to "root": # chgrp root /etc/aliases # chgrp root /etc/aliases.db
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000570
- Vuln IDs
-
- V-89647
- Rule IDs
-
- SV-100297r1_rule
Checks: C-89339r1_chk
Check the permissions of the alias files: # ls -lL /etc/aliases # ls -lL /etc/aliases.db If the files have a mode more permissive than "0644", this is a finding.
Fix: F-96389r1_fix
Change the mode of the alias files to "0644": # chmod 0644 /etc/aliases /etc/aliases.db
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000575
- Vuln IDs
-
- V-89649
- Rule IDs
-
- SV-100299r1_rule
Checks: C-89341r1_chk
Verify the ownership of files referenced within the sendmail aliases file: # more /etc/aliases Examine the aliases file for any directories or paths used: # ls -lL <directory or file path> Check the owner for any paths referenced. If the file or parent directory is not owned by "root", this is a finding.
Fix: F-96391r1_fix
Edit the /etc/aliases file (alternatively, /usr/lib/sendmail.cf). Locate the entries executing a program. They will appear similar to the following line: Aliasname: : /usr/local/bin/ls (or some other program name) Ensure "root" owns the programs and the directory or directories they reside in by using the "chown" command to change owner to "root": # chown root <file or directory name>
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000580
- Vuln IDs
-
- V-89651
- Rule IDs
-
- SV-100301r1_rule
Checks: C-89343r1_chk
Examine the contents of the /etc/aliases file: # more /etc/aliases Examine the aliases file for any directories or paths that may be utilized: # ls -lL <file referenced from aliases> Check the permissions for any paths referenced. If the group-owner of any file is not "root", "bin", "sys", or "system", this is a finding.
Fix: F-96393r1_fix
Change the group-ownership of the file referenced from /etc/mail/aliases: # chgrp root <file referenced from aliases>
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000585
- Vuln IDs
-
- V-89653
- Rule IDs
-
- SV-100303r1_rule
Checks: C-89345r1_chk
Examine the contents of the /etc/aliases file: # more /etc/aliases Examine the aliases file for any directories or paths that may be used: # ls -lL <file referenced from aliases> Check the permissions for any paths referenced. If any file referenced from the aliases file has a mode more permissive than "0755", this is a finding.
Fix: F-96395r1_fix
Use the "chmod" command to change the access permissions for files executed from the alias file: # chmod 0755 <file referenced from aliases>
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000590
- Vuln IDs
-
- V-89655
- Rule IDs
-
- SV-100305r1_rule
Checks: C-89347r1_chk
Check sendmail to determine if the logging level is set to level nine: # grep "O L" /etc/sendmail.cf OR # grep LogLevel /etc/sendmail.cf If logging is set to less than nine, this is a finding.
Fix: F-96397r1_fix
Edit the sendmail.cf file, locate the "O L" or "LogLevel" entry and change it to "9".
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000595
- Vuln IDs
-
- V-89657
- Rule IDs
-
- SV-100307r1_rule
Checks: C-89349r1_chk
Check the /etc/syslog-ng/syslog-ng.conf for the following log entries: filter f_mailinfo { level(info) and facility(mail); }; filter f_mailwarn { level(warn) and facility(mail); }; filter f_mailerr { level(err, crit) and facility(mail); }; filter f_mail { facility(mail); }; If present, this is not a finding.
Fix: F-96399r1_fix
Edit the /etc/syslog-ng/syslog-ng.conf file and add the following log entries: filter f_mailinfo { level(info) and facility(mail); }; filter f_mailwarn { level(warn) and facility(mail); }; filter f_mailerr { level(err, crit) and facility(mail); }; filter f_mail { facility(mail); }; destination mailinfo { file("/var/log/mail.info"); }; log { source(src); filter(f_mailinfo); destination(mailinfo); }; destination mailwarn { file("/var/log/mail.warn"); }; log { source(src); filter(f_mailwarn); destination(mailwarn); }; destination mailerr { file("/var/log/mail.err" fsync(yes)); }; log { source(src); filter(f_mailerr); destination(mailerr); };
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000600
- Vuln IDs
-
- V-89659
- Rule IDs
-
- SV-100309r1_rule
Checks: C-89351r1_chk
Check the permissions on the mail log files: # ls -la /var/log/mail # ls -la /var/log/mail.info # ls -la /var/log/mail.warn # ls -la /var/log/mail.err If any mail log file is not owned by "root", this is a finding.
Fix: F-96401r1_fix
Change the ownership of the sendmail log files: # chown root <sendmail log file>
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000605
- Vuln IDs
-
- V-89661
- Rule IDs
-
- SV-100311r1_rule
Checks: C-89353r1_chk
Check the permissions on the mail log files: # ls -la /var/log/mail # ls -la /var/log/mail.info # ls -la /var/log/mail.warn # ls -la /var/log/mail.err If the log file permissions are greater than "0644", this is a finding.
Fix: F-96403r1_fix
Change the mode of the sendmail log files: # chmod 0644 <sendmail log file>
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000610
- Vuln IDs
-
- V-89663
- Rule IDs
-
- SV-100313r1_rule
Checks: C-89355r1_chk
Check the permissions of the sendmail helpfile: ls -al /usr/lib/sendmail.d/helpfile If the permissions are not "0000", this is a finding.
Fix: F-96405r1_fix
Run the following command to disable the sendmail helpfile: # chmod 0000 /usr/lib/sendmail.d/helpfile
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000615
- Vuln IDs
-
- V-89665
- Rule IDs
-
- SV-100315r1_rule
Checks: C-89357r1_chk
To check for the sendmail version being displayed in the greeting: # more /etc/sendmail.cf | grep SmtpGreetingMessage If it returns the following: O SmtpGreetingMessage=$j Sendmail $v/$Z; $b Then sendmail is providing version information, and this is a finding.
Fix: F-96407r1_fix
Change the "O SmtpGreetingMessage" line in the /etc/sendmail.cf file to: O SmtpGreetingMessage= Mail Server Ready ; $b
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000620
- Vuln IDs
-
- V-89667
- Rule IDs
-
- SV-100317r1_rule
Checks: C-89359r1_chk
Check if forwarding from sendmail: # grep "0 ForwardPath" /etc/sendmail.cf If the entry contains a file path and is not commented out, this is a finding.
Fix: F-96409r1_fix
Disable forwarding for sendmail and remove ".forward" files from the system: Remove all .forward files on the system: # find / -name .forward -delete Use the following command to disable forwarding: # sed -i "s/O ForwardPath/#O ForwardPath/" /etc/sendmail.cf Restart the sendmail service: # service sendmail restart
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000625
- Vuln IDs
-
- V-89669
- Rule IDs
-
- SV-100319r1_rule
Checks: C-89361r1_chk
Use the following command to check if EXPN is disabled: # grep -v "^#" /etc/sendmail.cf |grep -i PrivacyOptions If "noexpn" is not returned, this is a finding.
Fix: F-96411r1_fix
Add "noexpn" to the "PrivacyOptions" flag in /etc/sendmail.cf
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000630
- Vuln IDs
-
- V-89671
- Rule IDs
-
- SV-100321r1_rule
Checks: C-89363r1_chk
Use the following command to check if VRFY is disabled: # grep -v "^#" /etc/sendmail.cf |grep -i PrivacyOptions If "novrfy" is not returned, this is a finding.
Fix: F-96413r1_fix
Add "novrfy" to the "PrivacyOptions" flag in /etc/sendmail.cf
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000635
- Vuln IDs
-
- V-89673
- Rule IDs
-
- SV-100323r1_rule
Checks: C-89365r1_chk
Run the following command: iptables --list | grep "udplite" If no result is displayed, this is a finding.
Fix: F-96415r1_fix
Configure the system to prevent the dynamic loading of the UDP-Lite protocol handler: Add the following rule to the iptables firewall ruleset: # iptables -A INPUT -p udplite -j DROP
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000640
- Vuln IDs
-
- V-89675
- Rule IDs
-
- SV-100325r1_rule
Checks: C-89367r1_chk
Check that the IPX protocol handler is prevented from dynamic loading: # grep "install ipx /bin/true" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-96417r1_fix
Prevent the IPX protocol handler for dynamic loading: # echo "install ipx /bin/true" >> /etc/modprobe.conf.local
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000645
- Vuln IDs
-
- V-89677
- Rule IDs
-
- SV-100327r1_rule
Checks: C-89369r1_chk
Verify the AppleTalk protocol handler is prevented from dynamic loading: # grep "install appletalk /bin/true" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-96419r1_fix
Prevent the AppleTalk protocol handler for dynamic loading: # echo "install appletalk /bin/true" >> /etc/modprobe.conf.local
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000650
- Vuln IDs
-
- V-89679
- Rule IDs
-
- SV-100329r1_rule
Checks: C-89371r1_chk
Check that the DECnet protocol handler is prevented from dynamic loading: # grep "install decnet /bin/true" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* If no result is returned, this is a finding.
Fix: F-96421r1_fix
Prevent the DECnet protocol handler for dynamic loading: # echo "install decnet /bin/true" >> /etc/modprobe.conf.local
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000655
- Vuln IDs
-
- V-89681
- Rule IDs
-
- SV-100331r1_rule
Checks: C-89373r1_chk
Note: For Appliance OS, proxy_ndp is disabled by default and this is not a finding. Determine if the system is configured for proxy NDP, and if it is enabled: more /proc/sys/net/ipv6/conf/*/proxy_ndp If the file is not found, the kernel is not configured for proxy NDP, and this is not a finding. If the file has a value of "0", proxy NDP is not enabled, and this is not a finding. If the file has a value of "1", proxy NDP is enabled, and this is a finding.
Fix: F-96423r1_fix
Disable proxy NDP on the system.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000660
- Vuln IDs
-
- V-89683
- Rule IDs
-
- SV-100333r1_rule
Checks: C-89375r1_chk
Check the SLES for vRealize for any active "6to4" tunnels without specific remote addresses: # ip tun list | grep "remote any" | grep "ipv6/ip" If any results are returned the "tunnel" is the first field. If any results are returned, this is a finding.
Fix: F-96425r1_fix
Disable the active 6to4 tunnel: # ip link set <tunnel> down Add this command to a startup script, or remove the configuration creating the tunnel.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000665
- Vuln IDs
-
- V-89685
- Rule IDs
-
- SV-100335r1_rule
Checks: C-89377r1_chk
Verify the Teredo service is not running: ps ax | grep teredo | grep -v grep If the Teredo process is running, this is a finding.
Fix: F-96427r1_fix
Kill the Teredo service. Edit startup scripts to prevent the service from running on startup. For Appliance OS, Teredo is not included by default, this is not a finding.
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000670
- Vuln IDs
-
- V-89687
- Rule IDs
-
- SV-100337r1_rule
Checks: C-89379r1_chk
Check that no interface is configured to use DHCP: # grep -i bootproto=dhcp4 /etc/sysconfig/network/ifcfg-* If any configuration is found, this is a finding.
Fix: F-96429r1_fix
Edit the /etc/sysconfig/network/ifcfg-* file(s) and change the "bootproto" setting to "static".
- RMF Control
- CM-7
- Severity
- M
- CCI
- CCI-000382
- Version
- VRAU-SL-000675
- Vuln IDs
-
- V-89689
- Rule IDs
-
- SV-100339r1_rule
Checks: C-89381r1_chk
If the SLES for vRealize needs IEEE 1394 (Firewire), this is not applicable. Check if the firewire module is not disabled: # grep "install ieee1394 /bin/true" /etc/modprobe.conf /etc/modprobe.conf.local /etc/modprobe.d/* If no results are returned, this is a finding.
Fix: F-96431r1_fix
Prevent the SLES for vRealize from loading the firewire module: # echo "install ieee1394 /bin/true" >> /etc/modprobe.conf.local
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-000764
- Version
- VRAU-SL-000680
- Vuln IDs
-
- V-89691
- Rule IDs
-
- SV-100341r1_rule
Checks: C-89383r2_chk
Verify that the SLES for vRealize contains no duplicate UIDs for organizational users by running the following command: # awk -F ":" 'list[$3]++{print $1, $3}' /etc/passwd If output is produced, this is a finding.
Fix: F-96433r1_fix
Edit the file /etc/passwd and provide each organizational user account that has a duplicate UID with a unique UID.
- RMF Control
- IA-2
- Severity
- H
- CCI
- CCI-000770
- Version
- VRAU-SL-000705
- Vuln IDs
-
- V-89693
- Rule IDs
-
- SV-100343r1_rule
Checks: C-89385r1_chk
Verify the SLES for vRealize prevents direct logons to the "root" account by running the following command: # grep root /etc/shadow | cut -d "":"" -f 2 If the returned message contains any text, this is a finding.
Fix: F-96435r1_fix
Configure the SLES for vRealize to prevent direct logons to the "root" account by performing the following operations: Add this line to the /etc/group file: admin:x:[UNIQUE_NUMBER]:[USERNAME] USERNAME is the user to be added to the admin group. UNIQUE_NUMBER is a number entered into the ID field of an entry that is unique to all other IDs in the file. Comment out the following lines in /etc/sudoers file: Default targetpw ALL ALL=(ALL) ALL Under the line in the /etc/sudoers file: root ALL=(ALL) All Add the following line: %admin ALL=(ALL) ALL Run the following command: # passwd -d root
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-001941
- Version
- VRAU-SL-000710
- Vuln IDs
-
- V-89695
- Rule IDs
-
- SV-100345r1_rule
Checks: C-89387r2_chk
Verify that the SLES for vRealize enforces SSHv2 for network access to privileged accounts by running the following command: Replace [ADDRESS] in the following command with the correct IP address based on the current system configuration. # ssh -1 [ADDRESS] An example of the command usage is as follows: # ssh -1 localhost The output must be the following: Protocol major versions differ: 1 vs. 2 If the output is not as listed above, this is a finding. OR Verify that the ssh is configured to enforce SSHv2 for network access to privileged accounts by running the following command: # grep Protocol /etc/ssh/sshd_config If the result is not "Protocol 2", this is a finding.
Fix: F-96437r1_fix
Configure the SLES for vRealize to enforce SSHv2 for network access to privileged accounts by running the following commands: # sed -i 's/^.*\bProtocol\b.*$/Protocol 2/' /etc/ssh/sshd_config Restart the ssh service: # service sshd restart
- RMF Control
- IA-2
- Severity
- M
- CCI
- CCI-001942
- Version
- VRAU-SL-000715
- Vuln IDs
-
- V-89697
- Rule IDs
-
- SV-100347r1_rule
Checks: C-89389r1_chk
Verify that the SLES for vRealize enforces SSHv2 for network access to privileged accounts by running the following command: Replace [ADDRESS] in the following command with the correct IP address based on the current system configuration. # ssh -1 [ADDRESS] An example of the command usage is as follows: # ssh -1 localhost The output must be one of the following items: Protocol major versions differ: 1 vs. 2 OR: Protocol 1 not allowed in the FIPS mode. If the output is not one of the above, this is a finding. OR Verify that the ssh is configured to enforce SSHv2 for network access to privileged accounts by running the following command: # grep Protocol /etc/ssh/sshd_config If the result is not "Protocol 2", this is a finding.
Fix: F-96439r1_fix
Configure the SLES for vRealize to enforce SSHv2 for network access to non-privileged accounts by running the following commands: # sed -i 's/^.*\bProtocol\b.*$/Protocol 2/' /etc/ssh/sshd_config Restart the ssh service: # service sshd restart
- RMF Control
- IA-4
- Severity
- M
- CCI
- CCI-000795
- Version
- VRAU-SL-000725
- Vuln IDs
-
- V-89699
- Rule IDs
-
- SV-100349r1_rule
Checks: C-89391r1_chk
Verify the SLES for vRealize disables account identifiers after "35" days of inactivity after the password expiration, by performing the following commands: # grep "INACTIVE" /etc/default/useradd The output must indicate the "INACTIVE" configuration option is set to an appropriate integer as shown in the example below: grep "INACTIVE" /etc/default/useradd INACTIVE=35 If "INACTIVE" is not set to the value of "35" or less, this is a finding.
Fix: F-96441r1_fix
Configure the SLES for vRealize to disable account identifiers after 35 days of inactivity after the password expiration. Run the following command to change the configuration for useradd: Replace [VALUE] in the command with any integer from the range 0<[VALUE]<= 35. # sed -i "s/^.*\bINACTIVE\b.*$/INACTIVE=[VALUE]/" /etc/default/useradd DoD recommendation is "35" days, but a lower value is acceptable. The value "-1" will disable this feature and "0" will disable the account immediately after the password expires.
- RMF Control
- IA-7
- Severity
- M
- CCI
- CCI-000803
- Version
- VRAU-SL-000730
- Vuln IDs
-
- V-89701
- Rule IDs
-
- SV-100351r1_rule
Checks: C-89393r1_chk
Check the /etc/default/passwd file: # grep CRYPT /etc/default/passwd If the "CRYPT" setting in /etc/default/passwd is not present, or not set to "SHA256" or "SHA512", this is a finding. If the "CRYPT_FILES" setting in /etc/default/passwd is not present, or not set to "SHA256" or "SHA512", this is a finding.
Fix: F-96443r1_fix
Edit the /etc/default/passwd file and add or change the "CRYPT" variable setting so that it contains: CRYPT=sha256 OR CRYPT=sha512 Edit the /etc/default/passwd file and add or change the "CRYPT_FILES" variable setting so that it contains: CRYPT_FILES=sha256 OR CRYPT_FILES=sha512
- RMF Control
- IA-8
- Severity
- M
- CCI
- CCI-000804
- Version
- VRAU-SL-000735
- Vuln IDs
-
- V-89703
- Rule IDs
-
- SV-100353r1_rule
Checks: C-89395r1_chk
Run the following command to check for duplicate account names: # pwck -rq If there are no duplicate names, no line will be returned. If a line is returned, this is a finding.
Fix: F-96445r1_fix
Change usernames, or delete accounts, so each has a unique name.
- RMF Control
- IA-8
- Severity
- M
- CCI
- CCI-000804
- Version
- VRAU-SL-000740
- Vuln IDs
-
- V-89705
- Rule IDs
-
- SV-100355r1_rule
Checks: C-89397r1_chk
To ensure all GIDs referenced in /etc/passwd are defined in /etc/group, run the following command: # pwck -rq If a line is returned, this is a finding.
Fix: F-96447r1_fix
Add a group to the system for each GID referenced without a corresponding group.
- RMF Control
- IA-8
- Severity
- M
- CCI
- CCI-000804
- Version
- VRAU-SL-000745
- Vuln IDs
-
- V-89707
- Rule IDs
-
- SV-100357r1_rule
Checks: C-89399r2_chk
Verify the SLES for vRealize uniquely identifies and authenticates non-organizational users by running the following commands: # awk -F: '{print $3}' /etc/passwd | sort | uniq -d If the output is not blank, this is a finding.
Fix: F-96449r1_fix
Configure the SLES for vRealize to uniquely identify and authenticate non-organizational users (or processes acting on behalf of non-organizational users). UNIQUE_USER_ID is a unique numerical value that must be non-negative. USERNAME is the username of the user whose user ID is to be changed. # usermod -u [UNIQUE_USER_ID] [USERNAME]
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-001682
- Version
- VRAU-SL-000755
- Vuln IDs
-
- V-89709
- Rule IDs
-
- SV-100359r1_rule
Checks: C-89401r1_chk
For each emergency administrator account run the following command: chage -l [user] If the output shows an expiration date for the account, this is a finding.
Fix: F-96451r1_fix
For each emergency administrator account run the following command to remove the expiration: chage -E -1 [user]
- RMF Control
- MA-4
- Severity
- M
- CCI
- CCI-000877
- Version
- VRAU-SL-000760
- Vuln IDs
-
- V-89711
- Rule IDs
-
- SV-100361r1_rule
Checks: C-89403r2_chk
Check the SSH daemon configuration for DoD-approved encryption to protect the confidentiality of SSH remote connections by performing the following commands: Check the "Ciphers" setting in the "sshd_config" file. # grep -i Ciphers /etc/ssh/sshd_config | grep -v '#' The output must contain either nothing or any number of the following algorithms: aes128-ctr, aes256-ctr. If the output contains an algorithm not listed above, this is a finding. Expected Output: Ciphers aes256-ctr,aes128-ctr
Fix: F-96453r2_fix
Update the "Ciphers" directive with the following command: # sed -i "/^[^#]*Ciphers/ c\Ciphers aes256-ctr,aes128-ctr" /etc/ssh/sshd_config Save and close the file. Restart the sshd process: # service sshd restart
- RMF Control
- MA-4
- Severity
- M
- CCI
- CCI-000879
- Version
- VRAU-SL-000765
- Vuln IDs
-
- V-89713
- Rule IDs
-
- SV-100363r1_rule
Checks: C-89405r1_chk
Check for the existence of the /etc/profile.d/tmout.sh file: # ls -al /etc/profile.d/tmout.sh Check for the presence of the "TMOUT" variable: # grep TMOUT /etc/profile.d/tmout.sh The value of "TMOUT" should be set to "900" seconds (15 minutes). If the file does not exist, or the "TMOUT" variable is not set to "900", this is a finding.
Fix: F-96455r1_fix
Ensure the file exists and is owned by "root". If the files does not exist, use the following commands to create the file: # touch /etc/profile.d/tmout.sh # chown root:root /etc/profile.d/tmout.sh # chmod 644 /etc/profile.d/tmout.sh Edit the file /etc/profile.d/tmout.sh, and add the following lines: TMOUT=900 readonly TMOUT export TMOUT mesg n 2>/dev/null
- RMF Control
- SC-5
- Severity
- M
- CCI
- CCI-001095
- Version
- VRAU-SL-000785
- Vuln IDs
-
- V-89715
- Rule IDs
-
- SV-100365r1_rule
Checks: C-89407r1_chk
Check that the SLES for vRealize configured to use TCP syncookies when experiencing a TCP SYN flood. # cat /proc/sys/net/ipv4/tcp_syncookies If the result is not "1", this is a finding.
Fix: F-96457r2_fix
Configure the SLES for vRealize to use TCP syncookies when experiencing a TCP SYN flood. # sed -i 's/^.*\bnet.ipv4.tcp_syncookies\b.*$/net.ipv4.tcp_syncookies=1/' /etc/sysctl.conf Reload sysctl to verify the new change: # sysctl -p
- RMF Control
- SC-5
- Severity
- M
- CCI
- CCI-001095
- Version
- VRAU-SL-000790
- Vuln IDs
-
- V-89717
- Rule IDs
-
- SV-100367r1_rule
Checks: C-89409r1_chk
Check that the SLES for vRealize has an appropriate TCP backlog queue size to mitigate against TCP SYN flood DOS attacks with the following command: # cat /proc/sys/net/ipv4/tcp_max_syn_backlog If the TCP backlog queue size is not set to at least the recommended default setting of "1280", this is a finding.
Fix: F-96459r1_fix
Configure the TCP backlog queue size with the following command: # sed -i 's/^.*\bnet.ipv4.tcp_max_syn_backlog\b.*$/net.ipv4.tcp_max_syn_backlog=1280/' /etc/sysctl.conf Reload sysctl to verify the new change: # sysctl -p
- RMF Control
- SC-10
- Severity
- M
- CCI
- CCI-001133
- Version
- VRAU-SL-000795
- Vuln IDs
-
- V-89719
- Rule IDs
-
- SV-100369r1_rule
Checks: C-89411r1_chk
Check for the existence of the /etc/profile.d/tmout.sh file: # ls -al /etc/profile.d/tmout.sh Check for the presence of the "TMOUT" variable: # grep TMOUT /etc/profile.d/tmout.sh The value of "TMOUT" should be set to "900" seconds (15 minutes). If the file does not exist, or the "TMOUT" variable is not set to "900", this is a finding.
Fix: F-96461r1_fix
Ensure the file exists and is owned by "root". If the files does not exist, use the following commands to create the file: # touch /etc/profile.d/tmout.sh # chown root:root /etc/profile.d/tmout.sh # chmod 644 /etc/profile.d/tmout.sh Edit the file /etc/profile.d/tmout.sh, and add the following lines: TMOUT=900 readonly TMOUT export TMOUT mesg n 2>/dev/null
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- VRAU-SL-000820
- Vuln IDs
-
- V-89721
- Rule IDs
-
- SV-100371r1_rule
Checks: C-89413r1_chk
Verify the /var/log directory is group-owned by "root" by running the following command: # ls -lad /var/log | cut -d' ' -f4 The output must look like the following example: ls -lad /var/log | cut -d' ' -f4 root If "root" is not returned as a result, this is a finding.
Fix: F-96463r1_fix
Change the group of the directory /var/log to "root" by running the following command: # chgrp root /var/log
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- VRAU-SL-000825
- Vuln IDs
-
- V-89723
- Rule IDs
-
- SV-100373r1_rule
Checks: C-89415r1_chk
Verify that the /var/log directory is owned by "root" by running the following command: # ls -lad /var/log | cut -d' ' -f3 The output must look like the following example: ls -lad /var/log | cut -d' ' -f3 root If "root" is not returned as a result, this is a finding.
Fix: F-96465r1_fix
Change the owner of the directory /var/log to "root" by running the following command: # chown root /var/log
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- VRAU-SL-000830
- Vuln IDs
-
- V-89725
- Rule IDs
-
- SV-100375r1_rule
Checks: C-89417r1_chk
Verify that the /var/log directory has mode 0750 or less by running the following command: # ls -lad /var/log | cut -d' ' -f1 The output must look like the following example: ls -lad /var/log | cut -d' ' -f1 drwxr-x--- If "drwxr-x---" is not returned as a result, this is a finding.
Fix: F-96467r1_fix
Change the permissions of the directory /var/log to "0750" by running the following command: # chmod 0750 /var/log
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- VRAU-SL-000835
- Vuln IDs
-
- V-89727
- Rule IDs
-
- SV-100377r1_rule
Checks: C-89419r1_chk
Verify that the /var/log/messages file is group-owned by "root" by running the following command: # ls -la /var/log/messages | cut -d' ' -f4 The output must look like the following example: ls -la /var/log/messages | cut -d' ' -f4 root If "root" is not returned as a result, this is a finding.
Fix: F-96469r1_fix
Change the group of the file /var/log/messages to "root" by running the following command: # chgrp root /var/log/messages
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- VRAU-SL-000840
- Vuln IDs
-
- V-89729
- Rule IDs
-
- SV-100379r1_rule
Checks: C-89421r1_chk
Verify that the /var/log/messages file is owned by "root" by running the following command: # ls -la /var/log/messages | cut -d' ' -f3 The output must look like the following example: ls -la /var/log/messages | cut -d' ' -f3 root If "root" is not returned as a result, this is a finding.
Fix: F-96471r1_fix
Change the owner of the file /var/log/messages to "root" by running the following command: # chown root /var/log/messages
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- VRAU-SL-000845
- Vuln IDs
-
- V-89731
- Rule IDs
-
- SV-100381r1_rule
Checks: C-89423r1_chk
Verify that the /var/log/messages file has mode 0640 or less by running the following command: # ls -lad /var/log/messages | cut -d' ' -f1 The output must look like the following example: ls -lad /var/log/messages | cut -d' ' -f1 -rw-r----- If "-rw-r-----" is not returned as a result, this is a finding.
Fix: F-96473r1_fix
Change the permissions of the file /var/log/messages to "0640" by running the following command: # chmod 0640 /var/log/messages
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- VRAU-SL-000850
- Vuln IDs
-
- V-89733
- Rule IDs
-
- SV-100383r1_rule
Checks: C-89425r1_chk
Check the permissions of the syslog configuration file(s): # ls -lL /etc/syslog-ng/syslog-ng.conf If the mode of the file is more permissive than "0640", this is a finding.
Fix: F-96475r1_fix
Change the permissions of the syslog configuration file(s): # chmod 640 /etc/syslog-ng/syslog-ng.conf
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- VRAU-SL-000855
- Vuln IDs
-
- V-89735
- Rule IDs
-
- SV-100385r1_rule
Checks: C-89427r1_chk
Check the permissions of the syslog configuration file(s): # ls -lL /etc/syslog-ng/syslog-ng.conf If the file is not owned by "root", this is a finding.
Fix: F-96477r1_fix
Use the chown command to set the owner to "root": # chown root /etc/syslog-ng/syslog-ng.conf
- RMF Control
- SI-11
- Severity
- M
- CCI
- CCI-001314
- Version
- VRAU-SL-000860
- Vuln IDs
-
- V-89737
- Rule IDs
-
- SV-100387r1_rule
Checks: C-89429r1_chk
Check the permissions of the syslog configuration file(s): # ls -lL /etc/syslog-ng/syslog-ng.conf If the file is not group-owned by "root", this is a finding.
Fix: F-96479r1_fix
Change the group-owner of the /etc/rsyslog.conf file to "root": # chgrp root /etc/syslog-ng/syslog-ng.conf
- RMF Control
- AC-8
- Severity
- M
- CCI
- CCI-001384
- Version
- VRAU-SL-000865
- Vuln IDs
-
- V-89739
- Rule IDs
-
- SV-100389r1_rule
Checks: C-89431r1_chk
Check the issue file to verify that it contains one of the DoD required banners: # cat /etc/issue "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." Use the following verbiage for SLES for vRealize that have severe limitations on the number of characters that can be displayed in the banner: "I've read & consent to terms in IS user agreem't." If it does not, this is a finding.
Fix: F-96481r1_fix
To configure the system to display the Standard Mandatory DoD Notice and Consent Banner, run the dodscript with the following command as root: # /etc/dodscript.sh
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-001403
- Version
- VRAU-SL-000870
- Vuln IDs
-
- V-89741
- Rule IDs
-
- SV-100391r1_rule
Checks: C-89433r2_chk
Determine if execution of the usermod and groupmod executable are audited. # auditctl -l | egrep '(usermod|groupmod)' | grep perm=x If either usermod or groupmod are not listed with a permissions filter of at least 'x', this is a finding.
Fix: F-96483r1_fix
Configure execute auditing of the usermod and groupmod executables run the dodscript with the following command as root: # /etc/dodscript.sh OR.... Configure execute auditing of the usermod and groupmod executables. Add the following to the audit.rules file: -w /usr/sbin/usermod -p x -k usermod -w /usr/sbin/groupmod -p x -k groupmod Restart the auditd service. # service auditd restart
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-001403
- Version
- VRAU-SL-000875
- Vuln IDs
-
- V-89743
- Rule IDs
-
- SV-100393r1_rule
Checks: C-89435r1_chk
Determine if /etc/passwd, /etc/shadow, /etc/group, and /etc/gshadow are audited for writing. # auditctl -l | egrep '(/etc/passwd|/etc/shadow|/etc/group|/etc/gshadow)' | grep perm=w If any of these are not listed with a permissions filter of at least "w", this is a finding.
Fix: F-96485r1_fix
Configure append auditing of the "passwd", "shadow", "group", and "gshadow" files run "dodscript" with the following command as "root": # /etc/dodscript.sh OR Configure auditing of the "passwd", "shadow", "group", and "gshadow" files. Add the following to the audit.rules file: -w /etc/passwd -p w -k passwd -w /etc/shadow -p w -k shadow -w /etc/group -p w -k group -w /etc/gshadow -p w -k gshadow Restart the auditd service: # service auditd restart
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-001404
- Version
- VRAU-SL-000880
- Vuln IDs
-
- V-89745
- Rule IDs
-
- SV-100395r1_rule
Checks: C-89437r2_chk
Determine if execution of the "passwd" executable is audited: # auditctl -l | grep watch=/usr/bin/passwd If /usr/bin/passwd is not listed with a permissions filter of at least "x", this is a finding.
Fix: F-96487r2_fix
Configure the SLES for vRealize to automatically audit account disabling actions by running the following command: # /etc/dodscript.sh OR # echo '-w /usr/bin/passwd -p x -k passwd' >> /etc/audit/audit.rules Restart the auditd service: # service auditd restart
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-001405
- Version
- VRAU-SL-000885
- Vuln IDs
-
- V-89747
- Rule IDs
-
- SV-100397r1_rule
Checks: C-89439r1_chk
Determine if execution of the "userdel" and "groupdel" executable are audited: # auditctl -l | egrep '(userdel|groupdel)' If either "userdel" or "groupdel" are not listed with a permissions filter of at least "x", this is a finding.
Fix: F-96489r2_fix
Configure execute auditing of the "userdel" and "groupdel" executables. Add the following to the /etc/audit/audit.rules file: -w /usr/sbin/userdel -p x -k userdel -w /usr/sbin/groupdel -p x -k groupdel
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-001453
- Version
- VRAU-SL-000890
- Vuln IDs
-
- V-89749
- Rule IDs
-
- SV-100399r1_rule
Checks: C-89441r2_chk
Check the SSH daemon configuration for DoD-approved encryption to protect the confidentiality of SSH remote connections by performing the following commands: Check the "Ciphers" setting in the "sshd_config" file. # grep -i Ciphers /etc/ssh/sshd_config | grep -v '#' The output must contain either nothing or any number of the following algorithms: aes128-ctr, aes256-ctr. If the output contains an algorithm not listed above, this is a finding. Expected Output: Ciphers aes256-ctr,aes128-ctr
Fix: F-96491r2_fix
Update the "Ciphers" directive with the following command: # sed -i "/^[^#]*Ciphers/ c\Ciphers aes256-ctr,aes128-ctr" /etc/ssh/sshd_config Save and close the file. Restart the sshd process: # service sshd restart
- RMF Control
- AU-14
- Severity
- M
- CCI
- CCI-001464
- Version
- VRAU-SL-000895
- Vuln IDs
-
- V-89751
- Rule IDs
-
- SV-100401r1_rule
Checks: C-89443r1_chk
Check for the "audit=1" kernel parameter. # grep "audit=1" /proc/cmdline If no results are returned, this is a finding.
Fix: F-96493r1_fix
Edit the grub bootloader file /boot/grub/menu.lst by appending the "audit=1" parameter to the kernel boot line. Reboot the system for the change to take effect.
- RMF Control
- AU-3
- Severity
- M
- CCI
- CCI-001487
- Version
- VRAU-SL-000900
- Vuln IDs
-
- V-89753
- Rule IDs
-
- SV-100403r1_rule
Checks: C-89445r1_chk
Verify the SLES for vRealize produces audit records by running the following command to determine the current status of the "auditd" service: # service auditd status If the service is enabled, the returned message must contain the following text: Checking for service auditd running If the service is not "running", this is a finding.
Fix: F-96495r1_fix
Enable the "auditd" service by performing the following commands: # chkconfig auditd on # service auditd start
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-001493
- Version
- VRAU-SL-000905
- Vuln IDs
-
- V-89755
- Rule IDs
-
- SV-100405r1_rule
Checks: C-89447r1_chk
The following command will list which audit files on the system have permissions different from what is expected by the RPM database: # rpm -V audit | grep '^.M' If there is any output, for each file or directory found, compare the RPM-expected permissions with the permissions on the file or directory: # rpm -q --queryformat "[%{FILENAMES} %{FILEMODES:perms}\n]" audit | grep [filename] # ls -lL [filename] If the existing permissions are more permissive than those expected by RPM, this is a finding.
Fix: F-96497r1_fix
Run the following command to reset audit permissions to the correct values: sudo rpm --setperms audit-1.8-0.34.26
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-001494
- Version
- VRAU-SL-000910
- Vuln IDs
-
- V-89757
- Rule IDs
-
- SV-100407r1_rule
Checks: C-89449r1_chk
The following command will list which audit files on the system where the group-ownership has been modified: # rpm -V audit | grep '^......G' If there is output, this is a finding.
Fix: F-96499r1_fix
Run the following command to reset audit permissions to the correct values: sudo rpm --setperms audit-1.8-0.34.26
- RMF Control
- AU-9
- Severity
- M
- CCI
- CCI-001495
- Version
- VRAU-SL-000915
- Vuln IDs
-
- V-89759
- Rule IDs
-
- SV-100409r1_rule
Checks: C-89451r1_chk
The following command will list which audit files on the system where the ownership has been modified: # rpm -V audit | grep '^.....U' If there is output, this is a finding.
Fix: F-96501r1_fix
Run the following command to reset audit permissions to the correct values: sudo rpm --setperms audit-1.8-0.34.26
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- VRAU-SL-000920
- Vuln IDs
-
- V-89761
- Rule IDs
-
- SV-100411r1_rule
Checks: C-89453r1_chk
Verify that that system wide shared library files are not group-writable or world writable with the following command: ls -l /lib /lib64 /usr/lib /usr/lib64 /lib/modules If any library files are group-writable or world writable, this is a finding.
Fix: F-96503r2_fix
For any shared library file that was a finding: sudo chmod go-w <filename>
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- VRAU-SL-000921
- Vuln IDs
-
- V-89763
- Rule IDs
-
- SV-100413r1_rule
Checks: C-89455r1_chk
Verify that that system wide shared library files have root ownership with the following command: ls -l /lib /lib64 /usr/lib /usr/lib64 /lib/modules If any library files are not root owned, this is a finding.
Fix: F-96505r1_fix
For any shared library file that was a finding: sudo chown root <filename>
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- VRAU-SL-000922
- Vuln IDs
-
- V-89765
- Rule IDs
-
- SV-100415r1_rule
Checks: C-89457r1_chk
Verify that that system executables are not group-writable or world writable with the following command: ls -l /bin /sbin /usr/bin /usr/libexec /usr/local/bin /usr/local/sbin /usr/sbin If any files are group-writable or world writable, this is a finding.
Fix: F-96507r2_fix
For any file that was a finding: sudo chmod go-w <filename>
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001499
- Version
- VRAU-SL-000923
- Vuln IDs
-
- V-89767
- Rule IDs
-
- SV-100417r1_rule
Checks: C-89459r1_chk
Verify that that system executable files have root ownership with the following command: ls -l /bin /sbin /usr/bin /usr/libexec /usr/local/bin /usr/local/sbin /usr/sbin If any library files are not root owned, this is a finding.
Fix: F-96509r1_fix
For any file that was a finding: sudo chown root <filename>
- RMF Control
- IA-5
- Severity
- M
- CCI
- CCI-001619
- Version
- VRAU-SL-000925
- Vuln IDs
-
- V-89769
- Rule IDs
-
- SV-100419r1_rule
Checks: C-89461r1_chk
Verify the SLES for vRealize enforces password complexity by requiring that at least one special character be used by using the following command: Check the password "ocredit" option: # grep pam_cracklib.so /etc/pam.d/common-password Confirm the "ocredit" option is set to "-1" as in the example: password requisite pam_cracklib.so ocredit=-1 There may be other options on the line. If no such line is found, or the "ocredit" is not "-1", this is a finding.
Fix: F-96511r1_fix
Configure the SLES for vRealize to enforce password complexity by requiring that at least one special character be used: If "ocredit" was not set at all in /etc/pam.d/common-password-vmware.local then run the following command: # sed -i '/pam_cracklib.so/ s/$/ ocredit=-1/' /etc/pam.d/common-password-vmware.local If "ocredit" was set incorrectly then run the following command: # sed -i '/pam_cracklib.so/ s/ocredit=../ocredit=-1/' /etc/pam.d/common-password-vmware.local
- RMF Control
- AC-12
- Severity
- M
- CCI
- CCI-002361
- Version
- VRAU-SL-000960
- Vuln IDs
-
- V-89771
- Rule IDs
-
- SV-100421r1_rule
Checks: C-89463r1_chk
Check for the existence of the /etc/profile.d/tmout.sh file: # ls -al /etc/profile.d/tmout.sh Check for the presence of the "TMOUT" variable: # grep TMOUT /etc/profile.d/tmout.sh The value of "TMOUT" should be set to "900" seconds (15 minutes). If the file does not exist, or the "TMOUT" variable is not set to "900", this is a finding.
Fix: F-96513r1_fix
Ensure the file exists and is owned by "root". If the files does not exist, use the following commands to create the file: # touch /etc/profile.d/tmout.sh # chown root:root /etc/profile.d/tmout.sh # chmod 644 /etc/profile.d/tmout.sh Edit the file /etc/profile.d/tmout.sh, and add the following lines: TMOUT=900 readonly TMOUT export TMOUT mesg n 2>/dev/null
- RMF Control
- AC-17
- Severity
- M
- CCI
- CCI-002314
- Version
- VRAU-SL-000975
- Vuln IDs
-
- V-89773
- Rule IDs
-
- SV-100423r1_rule
Checks: C-89465r1_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-96515r2_fix
Edit the SSH daemon configuration /etc/ssh/sshd_config to specify listening network addresses designated for management traffic with the following command: sed -i "/^ListenAddress/ c\ListenAddress x.x.x.x" /etc/ssh/sshd_config Note: Replace x.x.x.x with the desired remote access IP address.
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-002130
- Version
- VRAU-SL-000995
- Vuln IDs
-
- V-89775
- Rule IDs
-
- SV-100425r1_rule
Checks: C-89467r1_chk
Determine if execution of the "usermod" and "groupmod" executable are audited: # auditctl -l | egrep '(usermod|groupmod)' If either "usermod" or "groupmod" are not listed with a permissions filter of at least "x", this is a finding. Determine if execution of the "userdel" and "groupdel" executable are audited: # auditctl -l | egrep '(userdel|groupdel)' If either "userdel" or "groupdel" are not listed with a permissions filter of at least "x", this is a finding. Determine if execution of "useradd" and "groupadd" are audited: # auditctl -l | egrep '(useradd|groupadd)' If either "useradd" or "groupadd" are not listed with a permissions filter of at least "x", this is a finding. Determine if execution of the "passwd" executable is audited: # auditctl -l | grep “/usr/bin/passwd” If "/usr/bin/passwd" is not listed with a permissions filter of at least "x", this is a finding. Determine if /etc/passwd, /etc/shadow, /etc/group, and /etc/security/opasswd are audited for writing: # auditctl -l | egrep '(/etc/passwd|/etc/shadow|/etc/group|/etc/security/opasswd)' If any of these are not listed with a permissions filter of at least "w", this is a finding.
Fix: F-96517r1_fix
Configure "execute" auditing of the "usermod" and "groupmod" executables. Add the following to the /etc/audit/audit.rules file: -w /usr/sbin/usermod -p x -k usermod -w /usr/sbin/groupmod -p x -k groupmod Configure "execute" auditing of the "userdel" and "groupdel" executables. Add the following to the /etc/audit/audit.rules file: -w /usr/sbin/userdel -p x -k userdel -w /usr/sbin/groupdel -p x -k groupdel Configure "execute" auditing of the "useradd" and "groupadd" executables. Add the following to audit.rules: -w /usr/sbin/useradd -p x -k useradd -w /usr/sbin/groupadd -p x -k groupadd Configure "execute" auditing of the "passwd" executable. Add the following to the aud.rules: -w /usr/bin/passwd -p x -k passwd Configure "write" auditing of the "passwd", "shadow", "group", and "opasswd" files. Add the following to the /etc/audit/audit.rules file: -w /etc/passwd -p wa -k passwd -w /etc/shadow -p wa -k shadow -w /etc/group -p wa -k group -w /etc/security/opasswd -p wa -k opasswd Restart the auditd service: # service auditd restart
- RMF Control
- AC-2
- Severity
- M
- CCI
- CCI-002132
- Version
- VRAU-SL-001000
- Vuln IDs
-
- V-89777
- Rule IDs
-
- SV-100427r1_rule
Checks: C-89469r1_chk
Determine if execution of the "usermod" and "groupmod" executable are audited: # auditctl -l | egrep '(usermod|groupmod)' If either "usermod" or "groupmod" are not listed with a permissions filter of at least "x", this is a finding. Determine if execution of the "userdel" and "groupdel" executable are audited: # auditctl -l | egrep '(userdel|groupdel)' If either "userdel" or "groupdel" are not listed with a permissions filter of at least "x", this is a finding. Determine if execution of "useradd" and "groupadd" are audited: # auditctl -l | egrep '(useradd|groupadd)' If either "useradd" or "groupadd" are not listed with a permissions filter of at least "x", this is a finding. Determine if execution of the "passwd" executable is audited: # auditctl -l | grep “/usr/bin/passwd” If "/usr/bin/passwd" is not listed with a permissions filter of at least "x", this is a finding. Determine if /etc/passwd, /etc/shadow, /etc/group, and /etc/security/opasswd are audited for writing: # auditctl -l | egrep '(/etc/passwd|/etc/shadow|/etc/group|/etc/security/opasswd)' If any of these are not listed with a permissions filter of at least "w", this is a finding.
Fix: F-96519r1_fix
Configure "execute" auditing of the "usermod" and "groupmod" executables. Add the following to the /etc/audit/audit.rules file: -w /usr/sbin/usermod -p x -k usermod -w /usr/sbin/groupmod -p x -k groupmod Configure "execute" auditing of the "userdel" and "groupdel" executables. Add the following to the /etc/audit/audit.rules file: -w /usr/sbin/userdel -p x -k userdel -w /usr/sbin/groupdel -p x -k groupdel Configure "execute" auditing of the "useradd" and "groupadd" executables. Add the following to audit.rules: -w /usr/sbin/useradd -p x -k useradd -w /usr/sbin/groupadd -p x -k groupadd Configure "execute" auditing of the "passwd" executable. Add the following to the aud.rules: -w /usr/bin/passwd -p x -k passwd Configure "write" auditing of the "passwd", "shadow", "group", and "opasswd" files. Add the following to the /etc/audit/audit.rules file: -w /etc/passwd -p wa -k passwd -w /etc/shadow -p wa -k shadow -w /etc/group -p wa -k group -w /etc/security/opasswd -p wa -k opasswd Restart the auditd service: # service auditd restart
- RMF Control
- AC-6
- Severity
- L
- CCI
- CCI-002234
- Version
- VRAU-SL-001030
- Vuln IDs
-
- V-89779
- Rule IDs
-
- SV-100429r1_rule
Checks: C-89471r1_chk
To verify that auditing of privileged command use is configured, run the following command to find relevant setuid programs: # find / -xdev -type f -perm -4000 -o -perm -2000 2>/dev/null Run the following command to verify entries in the audit rules for all programs found with the previous command: # grep path /etc/audit/audit.rules It should be the case that all relevant setuid programs have a line in the audit rules. If it is not the case, this is a finding.
Fix: F-96521r1_fix
At a minimum, the audit system should collect the execution of privileged commands for all users and "root". To find the relevant setuid programs: # find / -xdev -type f -perm -4000 -o -perm -2000 2>/dev/null Then, for each setuid program on the system, add a line of the following form to "/etc/audit/audit.rules", where [SETUID_PROG_PATH] is the full path to each setuid program in the list: -a always,exit -F path=[SETUID_PROG_PATH] -F perm=x -F auid>=500 -k privileged OR # /etc/dodscript.sh
- RMF Control
- AC-7
- Severity
- L
- CCI
- CCI-002238
- Version
- VRAU-SL-001035
- Vuln IDs
-
- V-89781
- Rule IDs
-
- SV-100431r1_rule
Checks: C-89473r1_chk
Check the "pam_tally2" configuration: # more /etc/pam.d/common-auth Confirm the following line is configured: auth required pam_tally2.so deny=3 onerr=fail even_deny_root unlock_time=86400 root_unlock_time=300 # more /etc/pam.d/common-account Confirm the following line is configured: account required pam_tally2.so If no such lines are found, this is a finding.
Fix: F-96523r1_fix
Edit "/etc/pam.d/common-auth" and add the following line: auth required pam_tally2.so deny=3 onerr=fail even_deny_root unlock_time=86400 root_unlock_time=300 Edit "/etc/pam.d/common-account" and add the following line: account required pam_tally2.so
- RMF Control
- AU-4
- Severity
- L
- CCI
- CCI-001851
- Version
- VRAU-SL-001060
- Vuln IDs
-
- V-89783
- Rule IDs
-
- SV-100433r1_rule
Checks: C-89475r1_chk
Check the syslog configuration file for remote syslog servers: # cat /etc/syslog-ng/syslog-ng.conf | grep logserver If no line is returned, or "logserver" is commented out, this is a finding.
Fix: F-96525r1_fix
Edit the syslog configuration file and add an appropriate remote syslog server: In the /etc/syslog-ng/syslog-ng.conf file, the remote logging entries must be uncommented and the IP address must be modified to point to the remote syslog server: # # Enable this and adopt IP to send log messages to a log server. # destination logserver { udp("x.x.x.x" port(514)); }; log { source(src); destination(logserver); }; Note: Replace x.x.x.x with the appropriate IP address.
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-001855
- Version
- VRAU-SL-001065
- Vuln IDs
-
- V-89785
- Rule IDs
-
- SV-100435r1_rule
Checks: C-89477r1_chk
Check "/etc/audit/auditd.conf" for the" space_left_action" with the following command: # cat /etc/audit/auditd.conf | grep space_left_action If the "space_left_action" parameter is missing, set to "ignore", set to "suspend", set to "single", set to "halt", or is blank, this is a finding. Expected Result: space_left_action = SYSLOG NOTES: If the space_left_action is set to "exec" the system executes a designated script. If this script informs the SA of the event, this is not a finding. If the space_left_action is set to "email" and the "action_mail_acct" parameter is not set to the email address of the system administrator, this is a finding. The "action_mail_acct parameter", if missing, defaults to "root". Note that if the email address of the system administrator is on a remote system "sendmail" must be available.
Fix: F-96527r1_fix
Set the "space_left_action" parameter to the valid setting "SYSLOG", by running the following command: # sed -i "/^[^#]*space_left_action/ c\admin_space_left_action = SYSLOG" /etc/audit/auditd.conf Restart the audit service: # service auditd restart
- RMF Control
- AU-5
- Severity
- M
- CCI
- CCI-001858
- Version
- VRAU-SL-001070
- Vuln IDs
-
- V-89787
- Rule IDs
-
- SV-100437r1_rule
Checks: C-89479r1_chk
Check "/etc/audit/auditd.conf" for the "space_left_action" with the following command: # cat /etc/audit/auditd.conf | grep space_left_action If the "space_left_action" parameter is missing, set to "ignore", set to "suspend", set to "single", set to "halt", or is blank, this is a finding. Expected Result: space_left_action = SYSLOG NOTES: If the "space_left_action" is set to "exec" the system executes a designated script. If this script informs the SA of the event, this is not a finding. If the "space_left_action" is set to "email" and the "action_mail_acct" parameter is not set to the email address of the system administrator, this is a finding. The "action_mail_acct parameter", if missing, defaults to "root". Note that if the email address of the system administrator is on a remote system "sendmail" must be available.
Fix: F-96529r1_fix
Set the "space_left_action" parameter to the valid setting "SYSLOG", by running the following command: # sed -i "/^[^#]*space_left_action/ c\admin_space_left_action = SYSLOG" /etc/audit/auditd.conf Restart the audit service: # service auditd restart
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-001891
- Version
- VRAU-SL-001110
- Vuln IDs
-
- V-89789
- Rule IDs
-
- SV-100439r1_rule
Checks: C-89481r1_chk
A remote NTP server should be configured for time synchronization. To verify one is configured, open the following file: # cat /etc/ntp.conf | grep server | grep -v '^#' # cat /etc/ntp.conf | grep peer | grep -v '^#' # cat /etc/ntp.conf | grep multicastclient | grep -v '^#' Confirm the servers and peers or multicastclient (as applicable) are local or an authoritative U.S. DoD source. If a non-local/non-authoritative time-server is used, this is a finding.
Fix: F-96531r1_fix
To specify a remote NTP server for time synchronization, edit the file "/etc/ntp.conf". Add or correct the following lines, substituting the IP or hostname of a remote NTP server for "ntpserver" by using the following command: # echo "server [ntpserver]" >> /etc/ntp.conf Replace [ntpserver] with one of the USNO time servers. This instructs the NTP software to contact that remote server to obtain time data. Restart the service with: # service ntp restart
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-001891
- Version
- VRAU-SL-001115
- Vuln IDs
-
- V-89791
- Rule IDs
-
- SV-100441r1_rule
Checks: C-89483r1_chk
Check the ownership of the NTP configuration file: # ls -l /etc/ntp.conf If the owner is not "root", this is a finding.
Fix: F-96533r1_fix
Change the owner of the NTP configuration file: # chown root /etc/ntp.conf
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-001891
- Version
- VRAU-SL-001120
- Vuln IDs
-
- V-89793
- Rule IDs
-
- SV-100443r1_rule
Checks: C-89485r1_chk
Check the group-ownership of the NTP configuration file: # ls -lL /etc/ntp.conf If the group-owner is not "root", "bin", "sys", or "system", this is a finding.
Fix: F-96535r1_fix
Change the group-owner of the NTP configuration file: # chgrp root /etc/ntp.conf
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-001891
- Version
- VRAU-SL-001125
- Vuln IDs
-
- V-89795
- Rule IDs
-
- SV-100445r1_rule
Checks: C-89487r1_chk
Check that the mode for the NTP configuration file is not more permissive than "0640": # ls -l /etc/ntp.conf If the mode is more permissive than "0640", this is a finding.
Fix: F-96537r1_fix
Change the mode of the NTP configuration file to "0640" or less permissive: # chmod 0640 /etc/ntp.conf
- RMF Control
- AU-8
- Severity
- M
- CCI
- CCI-002046
- Version
- VRAU-SL-001130
- Vuln IDs
-
- V-89797
- Rule IDs
-
- SV-100447r1_rule
Checks: C-89489r1_chk
Run the following command to determine the current status of the "ntpd" service: # service ntp status If the service is configured, the command should show a list of the ntp servers and the status of the synchronization. If it does not, this is a finding.
Fix: F-96539r2_fix
The "ntp" service can be enabled with the following command: # chkconfig ntp on # service ntp start Configure the time server for the authoritative time source with the following steps: 1. Edit /etc/ntp.conf and locate the "server" entry. 2. Replace the address with the address of the authoritative time source. 3. Save the /etc/ntp.conf file. 4. Restart the ntp daemon with /etc/init.d/ntp start.
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001814
- Version
- VRAU-SL-001165
- Vuln IDs
-
- V-89799
- Rule IDs
-
- SV-100449r1_rule
Checks: C-89491r1_chk
Verify the SLES for vRealize produces audit records by running the following command to determine the current status of the "auditd" service: # service auditd status If the service is enabled, the returned message must contain the following text: Checking for service auditd running If the service is not "running", this is a finding.
Fix: F-96541r1_fix
Enable the "auditd" service by performing the following commands: # chkconfig auditd on # service auditd start
- RMF Control
- CM-5
- Severity
- M
- CCI
- CCI-001749
- Version
- VRAU-SL-001170
- Vuln IDs
-
- V-89801
- Rule IDs
-
- SV-100451r1_rule
Checks: C-89493r1_chk
Verify RPM signature validation is not disabled: # grep nosignature /usr/lib/rpm/rpmrc ~root/.rpmrc The result should either respond with no such file or directory, or an empty return. If any configuration is found, this is a finding.
Fix: F-96543r1_fix
Edit the RPM configuration files containing the "nosignature" option and remove the option.
- RMF Control
- MA-4
- Severity
- M
- CCI
- CCI-002884
- Version
- VRAU-SL-001245
- Vuln IDs
-
- V-89803
- Rule IDs
-
- SV-100453r1_rule
Checks: C-89495r2_chk
Verify that all commands run by "root" are being audited with the following command: # cat /etc/audit/audit.rules | grep execve If the following lines are not displayed, this is a finding. -a exit,always -F arch=b64 -F euid=0 -S execve -a exit,always -F arch=b32 -F euid=0 -S execve
Fix: F-96545r1_fix
Configure the system to log all commands run by "root" with the following command: # echo "-a exit,always -F arch=b64 -F euid=0 -S execve" >> /etc/audit/audit.rules # echo "-a exit,always -F arch=b32 -F euid=0 -S execve" >> /etc/audit/audit.rules Restart the audit service: # service auditd restart
- RMF Control
- MA-4
- Severity
- M
- CCI
- CCI-002890
- Version
- VRAU-SL-001250
- Vuln IDs
-
- V-89805
- Rule IDs
-
- SV-100455r1_rule
Checks: C-89497r2_chk
Check the SSH daemon configuration for DoD-approved encryption to protect the confidentiality of SSH remote connections by performing the following commands: Check the "Ciphers" setting in the "sshd_config" file. # grep -i Ciphers /etc/ssh/sshd_config | grep -v '#' The output must contain either nothing or any number of the following algorithms: aes128-ctr, aes256-ctr. If the output contains an algorithm not listed above, this is a finding. Expected Output: Ciphers aes256-ctr,aes128-ctr
Fix: F-96547r2_fix
Update the "Ciphers" directive with the following command: # sed -i '/^[^#]*Ciphers/ c\Ciphers aes256-ctr,aes128-ctr' /etc/ssh/sshd_config Save and close the file. Restart the sshd process: # service sshd restart
- RMF Control
- MA-4
- Severity
- M
- CCI
- CCI-003123
- Version
- VRAU-SL-001255
- Vuln IDs
-
- V-89807
- Rule IDs
-
- SV-100457r1_rule
Checks: C-89499r1_chk
Check the SSH daemon configuration for allowed MACs: # grep -i macs /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned MACs list contains any MAC other than "hmac-sha1", this is a finding.
Fix: F-96549r2_fix
Edit the SSH daemon configuration and remove any MACs other than "hmac-sha1". If necessary, add a "MACs" line. # sed -i "/^[^#]*MACs/ c\MACs hmac-sha1" /etc/ssh/sshd_config
- RMF Control
- SC-13
- Severity
- H
- CCI
- CCI-002450
- Version
- VRAU-SL-001265
- Vuln IDs
-
- V-89809
- Rule IDs
-
- SV-100459r1_rule
Checks: C-89501r2_chk
Check the SSH daemon configuration for DoD-approved encryption to protect the confidentiality of SSH remote connections by performing the following commands: Check the "Ciphers" setting in the "sshd_config" file. # grep -i Ciphers /etc/ssh/sshd_config | grep -v '#' The output must contain either nothing or any number of the following algorithms: aes128-ctr, aes256-ctr. If the output contains an algorithm not listed above, this is a finding. Expected Output: Ciphers aes256-ctr,aes128-ctr
Fix: F-96551r2_fix
Update the "Ciphers" directive with the following command: # sed -i "/^[^#]*Ciphers/ c\Ciphers aes256-ctr,aes128-ctr" /etc/ssh/sshd_config Save and close the file. Restart the sshd process: # service sshd restart
- RMF Control
- SC-5
- Severity
- H
- CCI
- CCI-002385
- Version
- VRAU-SL-001305
- Vuln IDs
-
- V-89811
- Rule IDs
-
- SV-100461r1_rule
Checks: C-89503r1_chk
Check that the system configured to use TCP syncookies when experiencing a TCP SYN flood. # cat /proc/sys/net/ipv4/tcp_syncookies If the result is not "1", this is a finding.
Fix: F-96553r1_fix
Configure the system to use TCP syncookies when experiencing a TCP SYN flood. Check for the presence of "net.ipv4.tcp_syncookies" in the /etc/sysctl.conf file: # grep "net.ipv4.tcp_syncookies" /etc/sysctl.conf If it exists, change the value to "1". If it does not exist, add a setting for tcp_syncookies: # echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf Reload sysctl to verify the new change: # sysctl -p
- RMF Control
- SC-8
- Severity
- H
- CCI
- CCI-002418
- Version
- VRAU-SL-001310
- Vuln IDs
-
- V-89813
- Rule IDs
-
- SV-100463r1_rule
Checks: C-89505r2_chk
Check the SSH daemon configuration for DoD-approved encryption to protect the confidentiality of SSH remote connections by performing the following commands: Check the "Ciphers" setting in the "sshd_config" file. # grep -i Ciphers /etc/ssh/sshd_config | grep -v '#' The output must contain either nothing or any number of the following algorithms: aes128-ctr, aes256-ctr. If the output contains an algorithm not listed above, this is a finding. Expected Output: Ciphers aes256-ctr,aes128-ctr
Fix: F-96555r2_fix
Update the "Ciphers" directive with the following command: # sed -i "/^[^#]*Ciphers/ c\Ciphers aes256-ctr,aes128-ctr" /etc/ssh/sshd_config Save and close the file. Restart the sshd process: # service sshd restart
- RMF Control
- SC-8
- Severity
- H
- CCI
- CCI-002421
- Version
- VRAU-SL-001315
- Vuln IDs
-
- V-89815
- Rule IDs
-
- SV-100465r1_rule
Checks: C-89507r1_chk
Check the SSH daemon configuration for allowed MACs: # grep -i macs /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned MACs list contains any MAC other than "hmac-sha1", this is a finding.
Fix: F-96557r1_fix
Edit the SSH daemon configuration and remove any MACs other than "hmac-sha1". If necessary, add a "MACs" line.
- RMF Control
- SI-16
- Severity
- M
- CCI
- CCI-002824
- Version
- VRAU-SL-001335
- Vuln IDs
-
- V-89817
- Rule IDs
-
- SV-100467r1_rule
Checks: C-89509r1_chk
The stock kernel has support for non-executable program stacks compiled in by default. Verify that the option was specified when the kernel was built: # grep -i "execute" /var/log/boot.msg The message: "NX (Execute Disable) protection: active" will be written in the boot log when compiled in the kernel. This is the default for x86_64. To activate this support, the “noexec=on” kernel parameter must be specified at boot time. Check for a message with the following command: # grep –i "noexec" /var/log/boot.msg The message: "Kernel command line: <boot parameters> noexec=on" will be written to the boot log when properly appended to the /boot/grub/menu.lst file. If non-executable program stacks have not been configured, this is a finding.
Fix: F-96559r1_fix
Edit the /boot/grub/menu.lst file and add “noexec=on” to the end of each kernel line entry. A system restart is required to implement this change.
- RMF Control
- SI-16
- Severity
- M
- CCI
- CCI-002824
- Version
- VRAU-SL-001340
- Vuln IDs
-
- V-89819
- Rule IDs
-
- SV-100469r1_rule
Checks: C-89511r1_chk
Verify "randomize_va_space" has not been changed from the default "1" setting. # sysctl kernel.randomize_va_space If the return value is not "kernel.randomize_va_space = 1", this is a finding.
Fix: F-96561r2_fix
Run the following command: #sysctl kernel.randomize_va_space=1
- RMF Control
- SI-6
- Severity
- M
- CCI
- CCI-002696
- Version
- VRAU-SL-001350
- Vuln IDs
-
- V-89821
- Rule IDs
-
- SV-100471r1_rule
Checks: C-89513r1_chk
Verify the SLES for vRealize produces audit records by running the following command to determine the current status of the "auditd" service: # service auditd status If the service is enabled, the returned message must contain the following text: Checking for service auditd running If the service is not "running", this is a finding.
Fix: F-96563r1_fix
Enable the "auditd" service by performing the following commands: # chkconfig auditd on # service auditd start
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001365
- Vuln IDs
-
- V-89823
- Rule IDs
-
- SV-100473r1_rule
Checks: C-89515r1_chk
To verify that auditing is configured for system administrator actions, run the following command: # auditctl -l | grep "watch=/etc/sudoers" The result should return a rule for sudoers, such as: LIST_RULES: exit,always watch=/etc/sudoers perm=wa key=sudoers If there is no output, this is a finding.
Fix: F-96565r1_fix
At a minimum, the audit system should collect administrator actions for all users and "root". Add the following to "/etc/audit/audit.rules": -w /etc/sudoers -p wa -k sudoers OR # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001375
- Vuln IDs
-
- V-89825
- Rule IDs
-
- SV-100475r1_rule
Checks: C-89517r1_chk
To determine if the system is configured to audit calls to the "chmod" system call, run the following command: # auditctl -l | grep syscall | grep chmod If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid=0 syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid>=500 (0x1f4) auid!=-1 (0xffffffff) syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat LIST_RULES: exit,always arch=1073741827 (0x40000003) syscall=chmod,lchown,sethostname,fchmod,fchown,adjtimex,init_module,delete_module,chown,lchown32,fchown32,chown32,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,clock_settime,fchownat,fchmodat If no lines are returned, this is a finding.
Fix: F-96567r1_fix
At a minimum, the audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S chmod -F auid=0 -a always,exit -F arch=b64 -S chmod -F auid>=500 -F auid!=4294967295 -a always,exit -F arch=b32 -S chmod OR # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001380
- Vuln IDs
-
- V-89827
- Rule IDs
-
- SV-100477r1_rule
Checks: C-89519r1_chk
To verify that auditing is configured for system administrator actions, run the following command: # auditctl -l | grep "watch=/etc/sudoers" The result should return a rule for sudoers, such as: LIST_RULES: exit,always watch=/etc/sudoers perm=wa key=sudoers If there is no output, this is a finding.
Fix: F-96569r1_fix
At a minimum, the audit system should collect administrator actions for all users and "root". Add the following to "/etc/audit/audit.rules": -w /etc/sudoers -p wa -k sudoers OR # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001390
- Vuln IDs
-
- V-89829
- Rule IDs
-
- SV-100479r1_rule
Checks: C-89521r1_chk
To determine if the system is configured to audit calls to the "chmod" system call, run the following command: # auditctl -l | grep syscall | grep chmod If the system is configured to audit this activity, it will return several lines, such as: LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid=0 syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat LIST_RULES: exit,always arch=3221225534 (0xc000003e) auid>=500 (0x1f4) auid!=-1 (0xffffffff) syscall=chmod,fchmod,chown,fchown,fchownat,fchmodat LIST_RULES: exit,always arch=1073741827 (0x40000003) syscall=chmod,lchown,sethostname,fchmod,fchown,adjtimex,init_module,delete_module,chown,lchown32,fchown32,chown32,setxattr,lsetxattr,fsetxattr,removexattr,lremovexattr,fremovexattr,clock_settime,fchownat,fchmodat If no lines are returned, this is a finding.
Fix: F-96571r1_fix
At a minimum, the audit system should collect file permission changes for all users and "root". Add the following to "/etc/audit/audit.rules": -a always,exit -F arch=b64 -S chmod -F auid=0 -a always,exit -F arch=b64 -S chmod -F auid>=500 -F auid!=4294967295 -a always,exit -F arch=b32 -S chmod OR # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001400
- Vuln IDs
-
- V-89831
- Rule IDs
-
- SV-100481r1_rule
Checks: C-89523r1_chk
To verify that auditing is configured for system administrator actions, run the following command: # auditctl -l | grep "watch=/etc/sudoers" The result should return a rule for sudoers, such as: LIST_RULES: exit,always watch=/etc/sudoers perm=wa key=sudoers If there is no output, this is a finding.
Fix: F-96573r1_fix
At a minimum, the audit system should collect administrator actions for all users and "root". Add the following to "/etc/audit/audit.rules": -w /etc/sudoers -p wa -k sudoers OR # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001405
- Vuln IDs
-
- V-89833
- Rule IDs
-
- SV-100483r1_rule
Checks: C-89525r1_chk
The message types that are always recorded to /var/log/audit/audit.log include "LOGIN", "USER_LOGIN", "USER_START", "USER_END" among others and do not need to be added to audit.rules. The log files /var/log/faillog, /var/log/lastlog, and /var/log/tallylog must be protected from tampering of the logon records: # egrep "faillog|lastlog|tallylog" /etc/audit/audit.rules If /var/log/faillog, /var/log/lastlog, and /var/log/tallylog entries do not exist, this is a finding.
Fix: F-96575r1_fix
Ensure the auditing of logons by modifying /etc/audit/audit.rules to contain: -w /var/log/faillog -p wa -w /var/log/lastlog -p wa -w /var/log/tallylog -p wa OR # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001410
- Vuln IDs
-
- V-89835
- Rule IDs
-
- SV-100485r1_rule
Checks: C-89527r1_chk
To verify that auditing of privileged command use is configured, run the following command to find relevant setuid programs: # find / -xdev -type f -perm -4000 -o -perm -2000 2>/dev/null Run the following command to verify entries in the audit rules for all programs found with the previous command: # grep path /etc/audit/audit.rules It should be the case that all relevant setuid programs have a line in the audit rules. If it is not the case, this is a finding.
Fix: F-96577r1_fix
At a minimum, the audit system should collect the execution of privileged commands for all users and root. To find the relevant setuid programs: # find / -xdev -type f -perm -4000 -o -perm -2000 2>/dev/null Then, for each setuid program on the system, add a line of the following form to "/etc/audit/audit.rules", where [SETUID_PROG_PATH] is the full path to each setuid program in the list: -a always,exit -F path=[SETUID_PROG_PATH] -F perm=x -F auid>=500 -k privileged OR # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001415
- Vuln IDs
-
- V-89837
- Rule IDs
-
- SV-100487r1_rule
Checks: C-89529r1_chk
Determine if "/sbin/insmod" is audited: # cat /etc/audit/audit.rules | grep "/sbin/insmod" If the result does not start with "-w" and contain "-p x", this is a finding.
Fix: F-96579r1_fix
Add the following to "/etc/audit/audit.rules" in order to capture kernel module loading and unloading events: -w /sbin/insmod -p x OR # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001420
- Vuln IDs
-
- V-89839
- Rule IDs
-
- SV-100489r1_rule
Checks: C-89531r1_chk
The message types that are always recorded to /var/log/audit/audit.log include "LOGIN", "USER_LOGIN", "USER_START", "USER_END" among others and do not need to be added to audit.rules. The log files /var/log/faillog, /var/log/lastlog, and /var/log/tallylog must be protected from tampering of the logon records: # egrep "faillog|lastlog|tallylog" /etc/audit/audit.rules If /var/log/faillog, /var/log/lastlog, and /var/log/tallylog entries do not exist, this is a finding.
Fix: F-96581r1_fix
Ensure the auditing of logons by modifying /etc/audit/audit.rules to contain: -w /var/log/faillog -p wa -w /var/log/lastlog -p wa -w /var/log/tallylog -p wa OR... # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001425
- Vuln IDs
-
- V-89841
- Rule IDs
-
- SV-100491r1_rule
Checks: C-89533r1_chk
The message types that are always recorded to /var/log/audit/audit.log include "LOGIN", "USER_LOGIN", "USER_START", "USER_END" among others and do not need to be added to audit.rules. The log files /var/log/faillog, /var/log/lastlog, and /var/log/tallylog must be protected from tampering of the logon records: # egrep "faillog|lastlog|tallylog" /etc/audit/audit.rules If /var/log/faillog, /var/log/lastlog, and /var/log/tallylog entries do not exist, this is a finding.
Fix: F-96583r1_fix
Ensure the auditing of logons by modifying /etc/audit/audit.rules to contain: -w /var/log/faillog -p wa -w /var/log/lastlog -p wa -w /var/log/tallylog -p wa OR... # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001430
- Vuln IDs
-
- V-89843
- Rule IDs
-
- SV-100493r1_rule
Checks: C-89535r1_chk
Verify the SLES for vRealize produces audit records by running the following command to determine the current status of the "auditd" service: # service auditd status If the service is "enabled", the returned message must contain the following text: Checking for service auditd running If the service is not "running", this is a finding.
Fix: F-96585r1_fix
Enable the "auditd" service by performing the following commands: # chkconfig auditd on # service auditd start
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001440
- Vuln IDs
-
- V-89845
- Rule IDs
-
- SV-100495r1_rule
Checks: C-89537r1_chk
Verify auditd is configured to audit failed file access attempts. There must be both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall: # cat /etc/audit.rules /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S open" | grep -e "-F exit=-EPERM" # cat /etc/audit.rules /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S open" | grep -e "-F exit=-EACCES" There must be both an "-F exit=-EPERM" and "-F exit=-EACCES" for each access syscall. If not, this is a finding.
Fix: F-96587r1_fix
Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: -a exit,always -F arch=b64 -S open -F exit=-EPERM -a exit,always -F arch=b64 -S open -F exit=-EACCES -a exit,always -F arch=b32 -S open -F exit=-EPERM -a exit,always -F arch=b32 -S open -F exit=-EACCES
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001455
- Vuln IDs
-
- V-89847
- Rule IDs
-
- SV-100497r1_rule
Checks: C-89539r1_chk
Verify auditd is configured to audit failed file access attempts. # cat /etc/audit.rules /etc/audit/audit.rules | grep -e "-a exit,always" | grep -e "-S ftruncate" | grep -e "-F success=0" There must be an audit rule for each of the access syscalls logging all failed accesses (-F success=0). If not, this is a finding.
Fix: F-96589r1_fix
Edit the audit.rules file and add the following line(s) to enable auditing of failed attempts to access files and programs: -a exit,always -F arch=b64 -S ftruncate -F success=0 -a exit,always -F arch=b32 -S ftruncate -F success=0
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001460
- Vuln IDs
-
- V-89849
- Rule IDs
-
- SV-100499r1_rule
Checks: C-89541r1_chk
To determine if the system is configured to audit calls to the "unlink" system call, run the following command: # auditctl -l | grep syscall | grep unlink | grep -v unlinkat If the system is configured to audit this activity, it will return several lines. If it does not, this is a finding. To determine if the system is configured to audit calls to the "unlinkat" system call, run the following command: # auditctl -l | grep syscall | grep unlinkat If the system is configured to audit this activity, it will return several lines. If it does not, this is a finding. To determine if the system is configured to audit calls to the "rename" system call, run the following command: # auditctl -l | grep syscall | grep rename | grep -v renameat If the system is configured to audit this activity, it will return several lines. If it does not, this is a finding. To determine if the system is configured to audit calls to the "renameat" system call, run the following command: # auditctl -l | grep syscall | grep renameat If the system is configured to audit this activity, it will return several lines. If it does not, this is a finding.
Fix: F-96591r1_fix
Edit the audit.rules file and add the following line(s) to enable auditing of deletions of files and programs: -a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -S renameat -F auid=0 -a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -S renameat -F auid>=500 -F auid!=4294967295 -a always,exit -F arch=b32 -S unlink -S unlinkat -S rename -S renameat -F auid=0 -a always,exit -F arch=b32 -S unlink -S unlinkat -S rename -S renameat -F auid>=500 -F auid!=4294967295
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001465
- Vuln IDs
-
- V-89851
- Rule IDs
-
- SV-100501r1_rule
Checks: C-89543r1_chk
Check the system audit configuration to determine if file and directory deletions are audited: # cat /etc/audit.rules /etc/audit/audit.rules | grep -e "-a exit,always" | grep -i "rmdir" If no results are returned, or the results do not contain "-S rmdir", this is a finding.
Fix: F-96593r1_fix
Add the following to "/etc/audit/audit.rules" in order to capture file and directory deletion events: -a always,exit -F arch=b64 -S rmdir -S rm -a always,exit -F arch=b32 -S rmdir -S rm
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001470
- Vuln IDs
-
- V-89853
- Rule IDs
-
- SV-100503r1_rule
Checks: C-89545r1_chk
Check for a "logrotate" entry that rotates audit logs. # ls -l /etc/logrotate.d/audit If it exists, check for the presence of the "daily" rotate flag: # egrep "daily" /etc/logrotate.d/audit The command should produce a "daily" entry in the logrotate file for the audit daemon. If the "daily" entry is missing, this is a finding.
Fix: F-96595r1_fix
Create or edit the /etc/logrotate.d/audit file and add the "daily" entry, such as: /var/log/audit/audit.log { compress dateext rotate 15 daily missingok notifempty create 600 root root sharedscripts postrotate /sbin/service auditd restart 2> /dev/null > /dev/null || true endscript }
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001475
- Vuln IDs
-
- V-89855
- Rule IDs
-
- SV-100505r1_rule
Checks: C-89547r1_chk
The message types that are always recorded to /var/log/audit/audit.log include "LOGIN", "USER_LOGIN", "USER_START", "USER_END" among others and do not need to be added to audit.rules. The log files /var/log/faillog, /var/log/lastlog, and /var/log/tallylog must be protected from tampering of the login records: # egrep "faillog|lastlog|tallylog" /etc/audit/audit.rules If /var/log/faillog, /var/log/lastlog, and /var/log/tallylog entries do not exist, this is a finding.
Fix: F-96597r1_fix
Ensure the auditing of logins by modifying /etc/audit/audit.rules to contain: -w /var/log/faillog -p wa -w /var/log/lastlog -p wa -w /var/log/tallylog -p wa OR # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001480
- Vuln IDs
-
- V-89857
- Rule IDs
-
- SV-100507r1_rule
Checks: C-89549r1_chk
Determine if execution of the "usermod" and "groupmod" executable are audited: # auditctl -l | egrep '(usermod|groupmod)' If either "usermod" or "groupmod" are not listed with a permissions filter of at least "x", this is a finding. Determine if execution of the "userdel" and "groupdel" executable are audited: # auditctl -l | egrep '(userdel|groupdel)' If either "userdel" or "groupdel" are not listed with a permissions filter of at least "x", this is a finding. Determine if execution of "useradd" and "groupadd" are audited: # auditctl -l | egrep '(useradd|groupadd)' If either "useradd" or "groupadd" are not listed with a permissions filter of at least "x", this is a finding. Determine if execution of the "passwd" executable is audited: # auditctl -l | grep “/usr/bin/passwd” If "/usr/bin/passwd" is not listed with a permissions filter of at least "x", this is a finding. Determine if /etc/passwd, /etc/shadow, /etc/group, and /etc/security/opasswd are audited for writing: # auditctl -l | egrep '(/etc/passwd|/etc/shadow|/etc/group|/etc/security/opasswd)' If any of these are not listed with a permissions filter of at least "w", this is a finding.
Fix: F-96599r1_fix
Configure "execute" auditing of the "usermod" and "groupmod" executables. Add the following to the /etc/audit/audit.rules file: -w /usr/sbin/usermod -p x -k usermod -w /usr/sbin/groupmod -p x -k groupmod Configure "execute" auditing of the "userdel" and "groupdel" executables. Add the following to the /etc/audit/audit.rules file: -w /usr/sbin/userdel -p x -k userdel -w /usr/sbin/groupdel -p x -k groupdel Configure "execute" auditing of the "useradd" and "groupadd" executables. Add the following to audit.rules: -w /usr/sbin/useradd -p x -k useradd -w /usr/sbin/groupadd -p x -k groupadd Configure "execute" auditing of the "passwd" executable. Add the following to the aud.rules: -w /usr/bin/passwd -p x -k passwd Configure "write" auditing of the "passwd", "shadow", "group", and "opasswd" files. Add the following to the /etc/audit/audit.rules file: -w /etc/passwd -p wa -k passwd -w /etc/shadow -p wa -k shadow -w /etc/group -p wa -k group -w /etc/security/opasswd -p wa -k opasswd Restart the auditd service: # service auditd restart OR # /etc/dodscript.sh
- RMF Control
- AU-12
- Severity
- M
- CCI
- CCI-000172
- Version
- VRAU-SL-001485
- Vuln IDs
-
- V-89859
- Rule IDs
-
- SV-100509r1_rule
Checks: C-89551r1_chk
Determine if "/sbin/insmod" is audited: # cat /etc/audit/audit.rules | grep "/sbin/insmod" If the result does not start with "-w" and contain "-p x", this is a finding.
Fix: F-96601r1_fix
Add the following to "/etc/audit/audit.rules" in order to capture kernel module loading and unloading events: -w /sbin/insmod -p x OR # /etc/dodscript.sh
- RMF Control
- SC-13
- Severity
- M
- CCI
- CCI-002450
- Version
- VRAU-SL-001490
- Vuln IDs
-
- V-89861
- Rule IDs
-
- SV-100511r1_rule
Checks: C-89553r1_chk
Check the SSH daemon configuration for allowed MACs: # grep -i macs /etc/ssh/sshd_config | grep -v '^#' If no lines are returned, or the returned MACs list contains any MAC other than "hmac-sha1", this is a finding.
Fix: F-96603r1_fix
Edit the SSH daemon configuration and remove any MACs other than "hmac-sha1". If necessary, add a "MACs" line.
- RMF Control
- AU-4
- Severity
- M
- CCI
- CCI-001851
- Version
- VRAU-SL-001495
- Vuln IDs
-
- V-89863
- Rule IDs
-
- SV-100513r1_rule
Checks: C-89555r1_chk
Check the "syslog" configuration file for remote syslog servers: # cat /etc/syslog-ng/syslog-ng.conf | grep logserver If no line is returned, or "logserver" is commented out, this is a finding.
Fix: F-96605r2_fix
Edit the syslog configuration file and add an appropriate remote syslog server: In the /etc/syslog-ng/syslog-ng.conf file, the remote logging entries must be uncommented and the IP address must be modified to point to the remote syslog server: # # Enable this and adopt IP to send log messages to a log server. # destination logserver { udp("10.10.10.10" port(514)); }; log { source(src); destination(logserver); };
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- VRAU-SL-001500
- Vuln IDs
-
- V-89865
- Rule IDs
-
- SV-100515r1_rule
Checks: C-89557r1_chk
Check "/etc/pam.d/common-password" for "pam_cracklib" configuration: # grep pam_cracklib /etc/pam.d/common-password* If "pam_cracklib" is not present, this is a finding. Ensure the "passwd" command uses the "common-password" settings. # grep common-password /etc/pam.d/passwd If a line "password include common-password" is not found then the "password checks in common-password" will not be applied to new passwords, this is a finding.
Fix: F-96607r1_fix
Edit "/etc/pam.d/common-password" and configure "pam_cracklib" by adding a line such as "password requisite pam_cracklib.so"
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- VRAU-SL-001505
- Vuln IDs
-
- V-89867
- Rule IDs
-
- SV-100517r1_rule
Checks: C-89559r1_chk
Verify the module "pam_cracklib.so" is present. # ls /lib/security/ Confirm that "pam_cracklib.so" is present in the directory listing. If "pam_cracklib.so" is not present, this is a finding. Verify the file "/etc/pam.d/common-password" is configured. # grep pam_cracklib /etc/pam.d/common-password* If a line containing "password required pam_cracklib.so" is not present, this is a finding.
Fix: F-96609r1_fix
Configure the SLES for vRealize to prevent the use of dictionary words for passwords. Edit the file "/etc/pam.d/common-password". Configure "common-password" by adding a line such as: password required pam_cracklib.so Save the changes made to the file "/etc/pam.d/common-password".
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- VRAU-SL-001510
- Vuln IDs
-
- V-89869
- Rule IDs
-
- SV-100519r1_rule
Checks: C-89561r1_chk
Verify the "passwd" command uses the "common-password" settings. # grep common-password /etc/pam.d/passwd If a line "password include common-password" is not found then the "password checks in common-password" will not be applied to new passwords, and this is a finding.
Fix: F-96611r1_fix
Configure the SLES for vRealize to prevent the use of dictionary words for passwords. Edit the file "/etc/pam.d/passwd". Configure "passwd" by adding a line such as: password include common-password Save the changes made to the file.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- VRAU-SL-001515
- Vuln IDs
-
- V-89871
- Rule IDs
-
- SV-100521r1_rule
Checks: C-89563r1_chk
Check the value of the "FAIL_DELAY" variable and the ability to use it: # grep FAIL_DELAY /etc/login.defs The following result should be displayed: FAIL_DELAY 4 If the value does not exist, or is less than "4", this is a finding. Check for the use of "pam_faildelay": # grep pam_faildelay /etc/pam.d/common-auth* The following result should be displayed: /etc/pam.d/common-auth:auth optional pam_faildelay.so If the "pam_faildelay.so" module is not listed or is commented out, this is a finding.
Fix: F-96613r1_fix
Add the "pam_faildelay" module and set the "FAIL_DELAY" variable. Edit "/etc/login.defs" and set the value of the "FAIL_DELAY" variable to "4" or more. Edit "/etc/pam.d/common-auth" and add a "pam_faildelay" entry if one does not exist, such as: auth optional pam_faildelay.so
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- VRAU-SL-001520
- Vuln IDs
-
- V-89873
- Rule IDs
-
- SV-100523r1_rule
Checks: C-89565r1_chk
Verify the SLES for vRealize enforces a delay of at least "4" seconds between logon prompts following a failed logon attempt. Review the file "/etc/login.defs" and verify the parameter "FAIL_DELAY" is a value of "4" or greater. # grep FAIL_DELAY /etc/login.defs The typical configuration looks something like this: FAIL_DELAY 4 If the parameter "FAIL_DELAY" does not exists, or is less than "4", this is a finding.
Fix: F-96615r1_fix
Configure the SLES for vRealize to enforce a delay of at least "4" seconds between logon prompts following a failed logon attempt. Set the parameter "FAIL_DELAY" to a value of "4" or greater. Edit the file "/etc/login.defs". Set the parameter "FAIL_DELAY" to a value of "4" or greater. The typical configuration looks something like this: FAIL_DELAY 4 Save the changes made to the file.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- VRAU-SL-001525
- Vuln IDs
-
- V-89875
- Rule IDs
-
- SV-100525r1_rule
Checks: C-89567r1_chk
Verify the SLES for vRealize enforces a delay of at least "4" seconds between logon prompts following a failed logon attempt. Verify the use of the "pam_faildelay" module. # grep pam_faildelay /etc/pam.d/common-auth* The typical configuration looks something like this: #delay is in micro seconds auth required pam_faildelay.so delay=4000000 If the line is not present, this is a finding.
Fix: F-96617r2_fix
Configure the SLES for vRealize to enforce a delay of at least "4" seconds between logon prompts following a failed logon attempt with the following command: # sed -i "/^[^#]*pam_faildelay.so/ c\auth required pam_faildelay.so delay=4000000" /etc/pam.d/common-auth-vmware.local
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- VRAU-SL-001530
- Vuln IDs
-
- V-89877
- Rule IDs
-
- SV-100527r1_rule
Checks: C-89569r1_chk
Verify the SLES for vRealize is configured in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs. If it is not, this is a finding.
Fix: F-96619r1_fix
Configure the SLES for vRealize in accordance with the security configuration settings based on DoD security configuration or implementation guidance, including STIGs, NSA configuration guides, CTOs, and DTMs.
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- VRAU-SL-001535
- Vuln IDs
-
- V-89879
- Rule IDs
-
- SV-100529r1_rule
Checks: C-89571r1_chk
Check for the configured "umask" value in "login.defs" with the following command: # grep UMASK /etc/login.defs If the default "umask" is not "077", this a finding. Note: If the default umask is "000" or allows for the creation of world-writable files this becomes a Severity Code I finding.
Fix: F-96621r1_fix
To configure the correct UMASK setting run the following command: # sed -i "/^[^#]*UMASK/ c\UMASK 077" /etc/login.defs
- RMF Control
- CM-6
- Severity
- M
- CCI
- CCI-000366
- Version
- VRAU-SL-001550
- Vuln IDs
-
- V-89881
- Rule IDs
-
- SV-100531r1_rule
Checks: C-89573r1_chk
Check firewall configuration with the following command: iptables --list|grep -e OUTPUT -e INPUT -e FORWARD If employ a deny-all, allow-by-exception firewall policy for allowing connections to other systems, this is a finding.
Fix: F-96623r1_fix
Configure the SLES for vRealize to employ a deny-all, allow-by-exception firewall policy for allowing connections to other systems.