On 9/30/13 7:20 AM, Rui Pedro Bernardino wrote:
From e7a1c407a07e21dc1f47d089d825518f14582826 Mon Sep 17 00:00:00 2001 From: rbernardino rui-p-bernardino@ptinovacao.pt Date: Mon, 30 Sep 2013 12:00:16 +0100 Subject: [PATCH] Use variables in XCCDF texts to match profile values.
Signed-off-by: rbernardino rui-p-bernardino@ptinovacao.pt
RHEL6/input/services/ssh.xml | 4 +- RHEL6/input/system/accounts/banners.xml | 30 +++-------------- RHEL6/input/system/accounts/pam.xml | 34 ++++++++++---------- RHEL6/input/system/accounts/physical.xml | 4 +- .../accounts/restrictions/account_expiration.xml | 8 ++--- .../accounts/restrictions/password_expiration.xml | 17 ++++++---- RHEL6/input/system/accounts/session.xml | 20 ++++++------ RHEL6/input/system/auditing.xml | 23 ++++++------- RHEL6/input/system/permissions/execution.xml | 7 ++-- RHEL6/input/system/selinux.xml | 12 +++--- 10 files changed, 68 insertions(+), 91 deletions(-)
diff --git a/RHEL6/input/services/ssh.xml b/RHEL6/input/services/ssh.xml index d010c7b..1d3dad4 100644 --- a/RHEL6/input/services/ssh.xml +++ b/RHEL6/input/services/ssh.xml @@ -147,7 +147,7 @@ automatically logged out. <br /><br /> To set an idle timeout interval, edit the following line in <tt>/etc/ssh/sshd_config</tt> as follows: -<pre>ClientAliveInterval <b>interval</b></pre> +<pre>ClientAliveInterval <b><sub idref="sshd_idle_timeout_value"/></b></pre> The timeout <b>interval</b> is given in seconds. To have a timeout of 15 minutes, set <b>interval</b> to 900. <br /><br /> @@ -160,7 +160,7 @@ from correctly detecting that the user is idle. Run the following command to see what the timeout interval is:
<pre># grep ClientAliveInterval /etc/ssh/sshd_config</pre>
If properly configured, the output should be: -<pre>ClientAliveInterval 900</pre> +<pre>ClientAliveInterval <sub idref="sshd_idle_timeout_value"/></pre>
</ocil> <rationale> Causing idle users to be automatically logged out diff --git a/RHEL6/input/system/accounts/banners.xml b/RHEL6/input/system/accounts/banners.xml index 0b8dc83..6024f72 100644 --- a/RHEL6/input/system/accounts/banners.xml +++ b/RHEL6/input/system/accounts/banners.xml @@ -35,31 +35,10 @@ To configure the system login banner: <br /><br /> Edit <tt>/etc/issue</tt>. Replace the default text with a message compliant with the local site policy or a legal disclaimer. +<pre> +<sub idref="login_banner_text"/> +</pre>
-The DoD required text is either: -<br /><br /> -<tt>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: -<br />-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. -<br />-At any time, the USG may inspect and seize data stored on this IS. -<br />-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. -<br />-This IS includes security measures (e.g., authentication and access controls) -to protect USG interests -- not for your personal benefit or privacy. -<br />-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.</tt> -<br /><br /> -OR: -<br /><br /> -<tt>I've read & consent to terms in IS user agreem't.</tt>
</description> <ocil clause="it does not display the required banner"> To check if the system login banner is compliant, @@ -120,7 +99,7 @@ in the login screen, run the following command: <pre>sudo -u gdm gconftool-2 \ --type string \ --set /apps/gdm/simple-greeter/banner_message_text \ - "Text of the warning banner here"</pre> + "<sub idref="login_banner_text"/>"</pre> When entering a warning banner that spans several lines, remember to begin and end the string with <tt>"</tt>. This command writes directly to the file <tt>/var/lib/gdm/.gconf/apps/gdm/simple-greeter/%gconf.xml</tt>, @@ -136,6 +115,7 @@ An appropriate warning message reinforces policy awareness during the logon process and facilitates possible legal action against attackers. </rationale> <ident cce="27017-3" /> +<oval id="banner_gui_text_set" value="login_banner_text" /> <ref nist="AC-8(a),AC-8(b),AC-8(c)" disa="48,1384,1385,1386,1387,1388" /> </Rule>
diff --git a/RHEL6/input/system/accounts/pam.xml b/RHEL6/input/system/accounts/pam.xml index 4bfb0c2..989ec3b 100644 --- a/RHEL6/input/system/accounts/pam.xml +++ b/RHEL6/input/system/accounts/pam.xml @@ -225,7 +225,7 @@ operator="equals" interactive="0"> <description>To configure the number of retry prompts that are permitted per-session: <br /><br /> Edit the <tt>pam_cracklib.so</tt> statement in <tt>/etc/pam.d/system-auth</tt> to -show <tt>retry=3</tt>, or a lower value if site policy is more restrictive. +show <tt>retry=<sub idref="var_password_pam_cracklib_retry"/></tt>, or a lower value if site policy is more restrictive. <br /><br /> The DoD requirement is a maximum of 3 prompts per session.
</description> @@ -273,14 +273,14 @@ Passwords with excessive repeating characters may be more vulnerable to password usage of digits in a password. When set to a negative number, any password will be required to contain that many digits. When set to a positive number, pam_cracklib will grant +1 additional length credit for each digit. -Add <tt>dcredit=-1</tt> after pam_cracklib.so to require use of a digit in passwords. +Add <tt>dcredit=<sub idref="var_password_pam_cracklib_dcredit"/></tt> after pam_cracklib.so to require use of a digit in passwords. </description> <ocil clause="dcredit is not found or not set to the required value"> To check how many digits are required in a password, run the following command: <pre>$ grep pam_cracklib /etc/pam.d/system-auth</pre> The <tt>dcredit</tt> parameter (as a negative number) will indicate how many digits are required. The DoD requires at least one digit in a password. -This would appear as <tt>dcredit=-1</tt>. +This would appear as <tt>dcredit=<sub idref="var_password_pam_cracklib_dcredit"/></tt>. </ocil> <rationale> Requiring digits makes password guessing attacks more difficult by ensuring a larger @@ -298,7 +298,7 @@ search space. usage of uppercase letters in a password. When set to a negative number, any password will be required to contain that many uppercase characters. When set to a positive number, pam_cracklib will grant +1 additional length credit for each uppercase character. -Add <tt>ucredit=-1</tt> after pam_cracklib.so to require use of an upper case character in passwords. +Add <tt>ucredit=<sub idref="var_password_pam_cracklib_ucredit"/></tt> after pam_cracklib.so to require use of an upper case character in passwords. </description> <ocil clause="ucredit is not found or not set to the required value"> To check how many uppercase characters are required in a password, run the following command: @@ -323,7 +323,7 @@ more difficult by ensuring a larger search space. usage of special (or ``other'') characters in a password. When set to a negative number, any password will be required to contain that many special characters. When set to a positive number, pam_cracklib will grant +1 additional length credit for each special character. -Add <tt>ocredit=-1</tt> after pam_cracklib.so to require use of a special character in passwords. +Add <tt>ocredit=<sub idref="var_password_pam_cracklib_ocredit"/></tt> after pam_cracklib.so to require use of a special character in passwords. </description> <ocil clause="ocredit is not found or not set to the required value"> To check how many special characters are required in a password, run the following command: @@ -348,7 +348,7 @@ more difficult by ensuring a larger search space. usage of lowercase letters in a password. When set to a negative number, any password will be required to contain that many lowercase characters. When set to a positive number, pam_cracklib will grant +1 additional length credit for each lowercase character. -Add <tt>lcredit=-1</tt> after pam_cracklib.so to require use of a lowercase character in passwords. +Add <tt>lcredit=<sub idref="var_password_pam_cracklib_lcredit"/></tt> after pam_cracklib.so to require use of a lowercase character in passwords. </description> <ocil clause="lcredit is not found or not set to the required value"> To check how many lowercase characters are required in a password, run the following command: @@ -371,8 +371,8 @@ more difficult by ensuring a larger search space. <title>Set Password Strength Minimum Different Characters</title> <description>The pam_cracklib module's <tt>difok</tt> parameter controls requirements for usage of different characters during a password change. -Add <tt>difok=<i>NUM</i></tt> after pam_cracklib.so to require differing -characters when changing passwords, substituting <i>NUM</i> appropriately. +Add <tt>difok=<i><sub idref="var_password_pam_cracklib_difok"/></i></tt> after pam_cracklib.so to require differing +characters when changing passwords. The DoD requirement is <tt>4</tt>. </description> <ocil clause="difok is not found or not set to the required value"> @@ -422,13 +422,13 @@ attempts using <tt>pam_faillock.so</tt>: <br /><br /> Add the following lines immediately below the <tt>pam_unix.so</tt> statement in <tt>AUTH</tt> section of <tt>/etc/pam.d/system-auth</tt>: -<pre>auth [default=die] pam_faillock.so authfail deny=3 unlock_time=604800 fail_interval=900</pre> -<pre>auth required pam_faillock.so authsucc deny=3 unlock_time=604800 fail_interval=900</pre> +<pre>auth [default=die] pam_faillock.so authfail deny=<sub idref="var_accounts_passwords_pam_faillock_deny"/> unlock_time=<sub idref="var_accounts_passwords_pam_faillock_unlock_time"/> fail_interval=<sub idref="var_accounts_passwords_pam_faillock_fail_interval"/></pre> +<pre>auth required pam_faillock.so authsucc deny=<sub idref="var_accounts_passwords_pam_faillock_deny"/> unlock_time=<sub idref="var_accounts_passwords_pam_faillock_unlock_time"/> fail_interval=<sub idref="var_accounts_passwords_pam_faillock_fail_interval"/></pre> </description> <ocil clause="that is not the case"> To ensure the failed password attempt policy is configured correctly, run the following command: <pre># grep pam_faillock /etc/pam.d/system-auth</pre> -The output should show <tt>deny=3</tt>. +The output should show <tt>deny=<sub idref="var_accounts_passwords_pam_faillock_deny"/></tt>. </ocil> <rationale> Locking out user accounts after a number of incorrect attempts @@ -446,8 +446,8 @@ To configure the system to lock out accounts after a number of incorrect login attempts and require an administrator to unlock the account using <tt>pam_faillock.so</tt>: <br /><br /> Add the following lines immediately below the <tt>pam_env.so</tt> statement in <tt>/etc/pam.d/system-auth</tt>: -<pre>auth [default=die] pam_faillock.so authfail deny=3 unlock_time=604800 fail_interval=900</pre> -<pre>auth required pam_faillock.so authsucc deny=3 unlock_time=604800 fail_interval=900</pre> +<pre>auth [default=die] pam_faillock.so authfail deny=<sub idref="var_accounts_passwords_pam_faillock_deny"/> unlock_time=<sub idref="var_accounts_passwords_pam_faillock_unlock_time"/> fail_interval=<sub idref="var_accounts_passwords_pam_faillock_fail_interval"/></pre> +<pre>auth required pam_faillock.so authsucc deny=<sub idref="var_accounts_passwords_pam_faillock_deny"/> unlock_time=<sub idref="var_accounts_passwords_pam_faillock_unlock_time"/> fail_interval=<sub idref="var_accounts_passwords_pam_faillock_fail_interval"/></pre> </description> <ocil clause="that is not the case"> To ensure the failed password attempt policy is configured correctly, run the following command: @@ -472,8 +472,8 @@ To configure the system to lock out accounts after a number of incorrect login attempts within a 15 minute interval using <tt>pam_faillock.so</tt>: <br /><br /> Add the following lines immediately below the <tt>pam_env.so</tt> statement in <tt>/etc/pam.d/system-auth</tt>: -<pre>auth [default=die] pam_faillock.so authfail deny=3 unlock_time=604800 fail_interval=900</pre> -<pre>auth required pam_faillock.so authsucc deny=3 unlock_time=604800 fail_interval=900</pre> +<pre>auth [default=die] pam_faillock.so authfail deny=<sub idref="var_accounts_passwords_pam_faillock_deny"/> unlock_time=<sub idref="var_accounts_passwords_pam_faillock_unlock_time"/> fail_interval=<sub idref="var_accounts_passwords_pam_faillock_fail_interval"/></pre> +<pre>auth required pam_faillock.so authsucc deny=<sub idref="var_accounts_passwords_pam_faillock_deny"/> unlock_time=<sub idref="var_accounts_passwords_pam_faillock_unlock_time"/> fail_interval=<sub idref="var_accounts_passwords_pam_faillock_fail_interval"/></pre> </description> <ocil clause="that is not the case"> To ensure the failed password attempt policy is configured correctly, run the following command: @@ -493,9 +493,9 @@ specific period of time prevents direct password guessing attacks. <title>Limit Password Reuse</title> <description>Do not allow users to reuse recent passwords. This can be accomplished by using the <tt>remember</tt> option for the <tt>pam_unix</tt> PAM -module. In the file <tt>/etc/pam.d/system-auth</tt>, append <tt>remember=24</tt> to the +module. In the file <tt>/etc/pam.d/system-auth</tt>, append <tt>remember=<sub idref="password_history_retain_number" /></tt> to the line which refers to the <tt>pam_unix.so</tt> module, as shown: -<pre>password sufficient pam_unix.so <i>existing_options</i> remember=24</pre> +<pre>password sufficient pam_unix.so <i>existing_options</i> remember=<sub idref="password_history_retain_number" /></pre> The DoD and FISMA requirement is 24 passwords.</description> <ocil clause="it does not"> To verify the password reuse setting is compliant, run the following command: diff --git a/RHEL6/input/system/accounts/physical.xml b/RHEL6/input/system/accounts/physical.xml index 1631797..c7b6c96 100644 --- a/RHEL6/input/system/accounts/physical.xml +++ b/RHEL6/input/system/accounts/physical.xml @@ -250,12 +250,12 @@ the man page <tt>gconftool-2(1)</tt>.</description> <title>Set GNOME Login Inactivity Timeout</title> <description> Run the following command to set the idle time-out value for -inactivity in the GNOME desktop to 15 minutes: +inactivity in the GNOME desktop to <sub idref="inactivity_timeout_value" /> minutes: <pre># gconftool-2 \ --direct \ --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory \ --type int \ - --set /apps/gnome-screensaver/idle_delay 15</pre> + --set /apps/gnome-screensaver/idle_delay <sub idref="inactivity_timeout_value" /></pre> </description> <ocil clause="it is not"> To check the current idle time-out value, run the following command: diff --git a/RHEL6/input/system/accounts/restrictions/account_expiration.xml b/RHEL6/input/system/accounts/restrictions/account_expiration.xml index 18b2396..9d14001 100644 --- a/RHEL6/input/system/accounts/restrictions/account_expiration.xml +++ b/RHEL6/input/system/accounts/restrictions/account_expiration.xml @@ -32,12 +32,10 @@ normal command line utilities. <title>Set Account Expiration Following Inactivity</title> <description>To specify the number of days after a password expires (which signifies inactivity) until an account is permanently disabled, add or correct -the following lines in <tt>/etc/default/useradd</tt>, substituting -<tt><i>NUM_DAYS</i></tt> appropriately: -<pre>INACTIVE=<i>NUM_DAYS</i></pre> -A value of 35 is recommended. +the following lines in <tt>/etc/default/useradd</tt>, to match: +<pre>INACTIVE=<i><sub idref="var_account_disable_post_pw_expiration"/></i></pre> If a password is currently on the -verge of expiration, then 35 days remain until the account is automatically +verge of expiration, then <sub idref="var_account_disable_post_pw_expiration"/> days remain until the account is automatically disabled. However, if the password will not expire for another 60 days, then 95 days could elapse until the account would be automatically disabled. See the <tt>useradd</tt> man page for more information. Determining the inactivity diff --git a/RHEL6/input/system/accounts/restrictions/password_expiration.xml b/RHEL6/input/system/accounts/restrictions/password_expiration.xml index ce8a082..db7a035 100644 --- a/RHEL6/input/system/accounts/restrictions/password_expiration.xml +++ b/RHEL6/input/system/accounts/restrictions/password_expiration.xml @@ -81,7 +81,10 @@ age, and 7 day warning period with the following command: <description>To specify password length requirements for new accounts, edit the file <tt>/etc/login.defs</tt> and add or correct the following lines: -<pre>PASS_MIN_LEN 14<!-- <sub idref="var_accounts_password_minlen_login_defs"> --></pre> +<pre>PASS_MIN_LEN <sub idref="var_accounts_password_minlen_login_defs"/> </pre> +Also edit <tt>/etc/pam.d/system-auth</tt> and add <tt>minlen=<sub idref="var_accounts_password_minlen_login_defs"/></tt> to <tt>pam_cracklib.so</tt> entry, like: +<pre>password required pam_cracklib.so try_first_pass <i>existing_content</i> minlen=<sub idref="var_accounts_password_minlen_login_defs"/></pre> + <br/><br/> The DoD requirement is <tt>14</tt>. The FISMA requirement is <tt>12</tt>. @@ -113,8 +116,8 @@ behavior that may result. <title>Set Password Minimum Age</title> <description>To specify password minimum age for new accounts, edit the file <tt>/etc/login.defs</tt> -and add or correct the following line, replacing <i>DAYS</i> appropriately: -<pre>PASS_MIN_DAYS <i>DAYS</i></pre> +and add or correct the following line to match: +<pre>PASS_MIN_DAYS <sub idref="var_accounts_minimum_age_login_defs"/></pre> A value of 1 day is considered for sufficient for many environments. The DoD requirement is 1. @@ -140,8 +143,8 @@ after satisfying the password reuse requirement. <title>Set Password Maximum Age</title> <description>To specify password maximum age for new accounts, edit the file <tt>/etc/login.defs</tt> -and add or correct the following line, replacing <i>DAYS</i> appropriately: -<pre>PASS_MAX_DAYS <i>DAYS</i></pre> +and add or correct the following line to match: +<pre>PASS_MAX_DAYS <sub idref="var_accounts_maximum_age_login_defs"/></pre> A value of 180 days is sufficient for many environments. The DoD requirement is 60. </description> @@ -168,8 +171,8 @@ location subject to physical compromise.</rationale> <description>To specify how many days prior to password expiration that a warning will be issued to users, edit the file <tt>/etc/login.defs</tt> and add or correct - the following line, replacing <i>DAYS</i> appropriately: -<pre>PASS_WARN_AGE <i>DAYS</i></pre> + the following line to match: +<pre>PASS_WARN_AGE <sub idref="var_accounts_password_warn_age_login_defs"/></pre> The DoD requirement is 7. <!-- <sub idref="accounts_password_warn_age_login_defs_login_defs_value" /> --> </description> diff --git a/RHEL6/input/system/accounts/session.xml b/RHEL6/input/system/accounts/session.xml index ae71777..1f72f5a 100644 --- a/RHEL6/input/system/accounts/session.xml +++ b/RHEL6/input/system/accounts/session.xml @@ -31,7 +31,7 @@ Limiting the number of allowed users and sessions per user can limit risks relat Service attacks. This addresses concurrent sessions for a single account and does not address concurrent sessions by a single user via multiple accounts. The DoD requirement is 10. To set the number of concurrent sessions per user add the following line in <tt>/etc/security/limits.conf</tt>: -<pre>* hard maxlogins 10</pre> +<pre>* hard maxlogins <sub idref="max_concurrent_login_sessions_value" /></pre> </description> <rationale>Limiting simultaneous user logins can insulate the system from denial of service problems caused by excessive logins. Automated login processes operating improperly or @@ -42,7 +42,7 @@ Run the following command to ensure the <tt>maxlogins</tt> value is configured f on the system: <pre># grep "maxlogins" /etc/security/limits.conf</pre> You should receive output similar to the following: -<pre>* hard maxlogins 10</pre> +<pre>* hard maxlogins <sub idref="max_concurrent_login_sessions_value" /></pre> </ocil> <oval id="accounts_max_concurrent_login_sessions" value="max_concurrent_login_sessions_value" /> <ident cce="27457-1" /> @@ -211,7 +211,7 @@ operator="equals" interactive="0"> To ensure the default umask for users of the Bash shell is set properly, add or correct the <tt>umask</tt> setting in <tt>/etc/bashrc</tt> to read as follows: -<pre>umask 077<!-- <sub idref="umask_user_value" /> --></pre> +<pre>umask <sub idref="umask_user_value" /></pre> </description> <rationale>The umask value influences the permissions assigned to files when they are created. A misconfigured umask value could result in files with excessive permissions that can be read or @@ -222,8 +222,8 @@ running the following command: <pre># grep "umask" /etc/bashrc</pre> All output must show the value of <tt>umask</tt> set to 077, as shown below: <pre># grep "umask" /etc/bashrc -umask 077 -umask 077</pre> +umask <sub idref="var_accounts_user_umask"/> +umask <sub idref="var_accounts_user_umask"/></pre> </ocil>
<ident cce="26917-5" /> @@ -237,7 +237,7 @@ umask 077</pre> <description> To ensure the default umask for users of the C shell is set properly, add or correct the <tt>umask</tt> setting in <tt>/etc/csh.cshrc</tt> to read as follows: -<pre>umask 077<!-- <sub idref="umask_user_value" /> --></pre> +<pre>umask <sub idref="umask_user_value" /></pre> </description> <rationale>The umask value influences the permissions assigned to files when they are created. A misconfigured umask value could result in files with excessive permissions that can be read or @@ -248,7 +248,7 @@ running the following command: <pre># grep "umask" /etc/csh.cshrc</pre> All output must show the value of <tt>umask</tt> set to 077, as shown in the below: <pre># grep "umask" /etc/csh.cshrc -umask 077</pre> +umask <sub idref="var_accounts_user_umask"/></pre> </ocil> <ident cce="27034-8" /> <oval id="accounts_umask_cshrc" value="var_accounts_user_umask"/> @@ -261,7 +261,7 @@ umask 077</pre> <description> To ensure the default umask controlled by <tt>/etc/profile</tt> is set properly, add or correct the <tt>umask</tt> setting in <tt>/etc/profile</tt> to read as follows: -<pre>umask 077<!--<sub idref="umask_user_value" /> --></pre> +<pre>umask <sub idref="umask_user_value" /></pre> </description> <rationale>The umask value influences the permissions assigned to files when they are created. A misconfigured umask value could result in files with excessive permissions that can be read or @@ -273,7 +273,7 @@ running the following command: <pre># grep "umask" /etc/profile</pre> All output must show the value of <tt>umask</tt> set to 077, as shown in the below: <pre># grep "umask" /etc/profile -umask 077</pre> +umask <sub idref="var_accounts_user_umask"/></pre> </ocil> <oval id="accounts_umask_etc_profile" value="var_accounts_user_umask" /> <tested by="swells" on="20120929"/> @@ -285,7 +285,7 @@ umask 077</pre> <description> To ensure the default umask controlled by <tt>/etc/login.defs</tt> is set properly, add or correct the <tt>UMASK</tt> setting in <tt>/etc/login.defs</tt> to read as follows: -<pre>UMASK 077<!-- <sub idref="umask_user_value" /> --></pre> +<pre>UMASK <sub idref="umask_user_value" /></pre> </description> <rationale>The umask value influences the permissions assigned to files when they are created. A misconfigured umask value could result in files with excessive permissions that can be read and diff --git a/RHEL6/input/system/auditing.xml b/RHEL6/input/system/auditing.xml index 16585ba..791ffaf 100644 --- a/RHEL6/input/system/auditing.xml +++ b/RHEL6/input/system/auditing.xml @@ -232,9 +232,8 @@ normally.</i> <description>Determine how many log files <tt>auditd</tt> should retain when it rotates logs. Edit the file <tt>/etc/audit/auditd.conf</tt>. Add or modify the following -line, substituting <i>NUMLOGS</i> with the correct value: -<pre>num_logs = <i>NUMLOGS</i></pre> -Set the value to 5 for general-purpose systems. +line to match: +<pre>num_logs = <i><sub idref="var_auditd_num_logs" /></i></pre> Note that values less than 2 result in no log rotation.</description> <ocil clause="the system log file retention has not been properly configured"> Inspect <tt>/etc/audit/auditd.conf</tt> and locate the following line to @@ -254,10 +253,8 @@ file size and the number of logs retained.</rationale> <title>Configure auditd Max Log File Size</title> <description>Determine the amount of audit data (in megabytes) which should be retained in each log file. Edit the file -<tt>/etc/audit/auditd.conf</tt>. Add or modify the following line, substituting -the correct value for <i>STOREMB</i>: -<pre>max_log_file = <i>STOREMB</i></pre> -Set the value to <tt>6</tt> (MB) or higher for general-purpose systems. +<tt>/etc/audit/auditd.conf</tt>. Add or modify the following line to match: +<pre>max_log_file = <i><sub idref="var_auditd_max_log_file" /></i></pre> Larger values, of course, support retention of even more audit data.</description> <ocil clause="the system audit data threshold has not been properly configured"> @@ -289,8 +286,8 @@ page. These include: <li><tt>rotate</tt></li> <li><tt>keep_logs</tt></li> </ul> -Set the <tt><i>ACTION</i></tt> to <tt>rotate</tt> to ensure log rotation -occurs. This is the default. The setting is case-insensitive. +Set the <tt><i>ACTION</i></tt> to <tt><sub idref="var_auditd_max_log_file_action" /></tt> to ensure compliance. +The setting is case-insensitive. </description> <ocil clause="the system has not been properly configured to rotate audit logs"> Inspect <tt>/etc/audit/auditd.conf</tt> and locate the following line to @@ -342,8 +339,8 @@ These include: <li><tt>single</tt></li> <li><tt>halt</tt></li> </ul> -Set this to <tt>email</tt> (instead of the default, -which is <tt>suspend</tt>) as it is more likely to get prompt attention. Acceptable values +Set this to <tt><sub idref="var_auditd_space_left_action"/></tt> (instead of the default which is <tt>suspend</tt>) +as it is more likely to get prompt attention. Acceptable values also include <tt>suspend</tt>, <tt>single</tt>, and <tt>halt</tt>. </description> <ocil clause="the system is not configured to send an email to the system administrator when @@ -369,7 +366,7 @@ allow them to take corrective action prior to any disruption.</rationale> when disk space is running low but prior to running out of space completely. Edit the file <tt>/etc/audit/auditd.conf</tt>. Add or modify the following line, substituting <i>ACTION</i> appropriately: -<pre>admin_space_left_action = <i>ACTION</i></pre> +<pre>admin_space_left_action = <i><sub idref="var_auditd_admin_space_left_action" /></i></pre> Set this value to <tt>single</tt> to cause the system to switch to single user mode for corrective action. Acceptable values also include <tt>suspend</tt> and <tt>halt</tt>. For certain systems, the need for availability @@ -400,7 +397,7 @@ is used, running low on space for audit records should never occur. a designated account in certain situations. Add or correct the following line in <tt>/etc/audit/auditd.conf</tt> to ensure that administrators are notified via email for those situations: -<pre>action_mail_acct = root</pre> +<pre>action_mail_acct = <sub idref="var_auditd_action_mail_acct" /></pre> </description> <ocil clause="auditd is not configured to send emails per identified actions"> Inspect <tt>/etc/audit/auditd.conf</tt> and locate the following line to diff --git a/RHEL6/input/system/permissions/execution.xml b/RHEL6/input/system/permissions/execution.xml index 9ce2f86..c9aa397 100644 --- a/RHEL6/input/system/permissions/execution.xml +++ b/RHEL6/input/system/permissions/execution.xml @@ -28,9 +28,8 @@ for system daemons. <description>The file <tt>/etc/init.d/functions</tt> includes initialization parameters for most or all daemons started at boot time. The default umask of 022 prevents creation of group- or world-writable files. To set the default -umask for daemons, edit the following line, inserting 022 or 027 for -<i>UMASK</i> appropriately: -<pre>umask <i>UMASK</i></pre> +umask for daemons, edit the following line to match: +<pre>umask <i><sub idref="var_umask_for_daemons"/></i></pre> Setting the umask to too restrictive a setting can cause serious errors at runtime. Many daemons on the system already individually restrict themselves to a umask of 077 in their own init scripts. @@ -38,7 +37,7 @@ a umask of 077 in their own init scripts. <ocil clause="it does not"> To check the value of the <tt>umask</tt>, run the following command: <pre>$ grep umask /etc/init.d/functions</pre> -The output should show either <tt>022</tt> or <tt>027</tt>. +The output should show <tt><sub idref="var_umask_for_daemons"/></tt>. </ocil> <rationale>The umask influences the permissions assigned to files created by a process at run time. An unnecessarily permissive umask could result in files diff --git a/RHEL6/input/system/selinux.xml b/RHEL6/input/system/selinux.xml index a424b1a..9c28d21 100644 --- a/RHEL6/input/system/selinux.xml +++ b/RHEL6/input/system/selinux.xml @@ -105,14 +105,14 @@ the chances that it will remain off during system operation.
<Rule id="set_selinux_state" severity="medium"> <title>Ensure SELinux State is Enforcing</title> -<description>The SELinux state should be set to <tt>enforcing</tt> at +<description>The SELinux state should be set to <tt><sub idref="var_selinux_state_name"/></tt> at system boot time. In the file <tt>/etc/selinux/config</tt>, add or correct the following line to configure the system to boot into enforcing mode: -<pre>SELINUX=enforcing</pre> +<pre>SELINUX=<sub idref="var_selinux_state_name"/></pre> </description> <ocil clause="SELINUX is not set to enforcing"> Check the file <tt>/etc/selinux/config</tt> and ensure the following line appears: -<pre>SELINUX=enforcing</pre> +<pre>SELINUX=<sub idref="var_selinux_state_name"/></pre> </ocil> <rationale> Setting the SELinux state to enforcing ensures SELinux is able to confine @@ -128,18 +128,18 @@ privileges.
<Rule id="set_selinux_policy"> <title>Configure SELinux Policy</title> -<description>The SELinux <tt>targeted</tt> policy is appropriate for +<description>The SELinux <tt><sub idref="var_selinux_policy_name"/></tt> policy is appropriate for general-purpose desktops and servers, as well as systems in many other roles. To configure the system to use this policy, add or correct the following line in <tt>/etc/selinux/config</tt>: -<pre>SELINUXTYPE=targeted</pre> +<pre>SELINUXTYPE=<sub idref="var_selinux_policy_name"/></pre> Other policies, such as <tt>mls</tt>, provide additional security labeling and greater confinement but are not compatible with many general-purpose use cases. </description> <ocil clause="it does not"> Check the file <tt>/etc/selinux/config</tt> and ensure the following line appears: -<pre>SELINUXTYPE=targeted</pre> +<pre>SELINUXTYPE=<sub idref="var_selinux_policy_name"/></pre> </ocil> <rationale> Setting the SELinux policy to <tt>targeted</tt> or a more specialized policy -- 1.7.1
While technically the XCCDF spec supports this, does the transforms? Punting to Jeff (who wrote them).
scap-security-guide@lists.fedorahosted.org