[PATCH] A check and fix pam_cracklib.so minclass=X in system-auth

Jeffrey Blank blank at eclipse.ncsc.mil
Tue Jul 2 03:26:52 UTC 2013


Okay, this is helpful, but two things:
- by convention the Defintion ID should be the same as the filename
- the fix script isn't parameterized

There is support for parameters in fix scripts, per a recent patch:
https://lists.fedorahosted.org/pipermail/scap-security-guide/2013-June/003429.html




On Fri, Jun 28, 2013 at 9:15 AM, Brian Millett <bmillett at gmail.com> wrote:

>
> Signed-off-by: Brian Millett <bmillett at gmail.com>
> ---
>  .../accounts_password_minclass_login_defs.xml      | 43
> ++++++++++++++++++++++
>  .../fixes/bash/password_require_minimun_class.sh   |  6 +++
>  2 files changed, 49 insertions(+)
>  create mode 100644
> RHEL6/input/checks/accounts_password_minclass_login_defs.xml
>  create mode 100644
> RHEL6/input/fixes/bash/password_require_minimun_class.sh
>
> diff --git a/RHEL6/input/checks/accounts_password_minclass_login_defs.xml
> b/RHEL6/input/checks/accounts_password_minclass_login_defs.xml
> new file mode 100644
> index 0000000..539164b
> --- /dev/null
> +++ b/RHEL6/input/checks/accounts_password_minclass_login_defs.xml
> @@ -0,0 +1,43 @@
> +<def-group>
> +  <definition class="compliance"
> id="accounts_password_pam_cracklib_minclass" version="1">
> +    <metadata>
> +      <title>Set Password minclass Requirements</title>
> +      <affected family="unix">
> +        <platform>Red Hat Enterprise Linux 6</platform>
> +      </affected>
> +      <description>The password minclass should meet minimum
> +      requirements using pam_cracklib</description>
> +    </metadata>
> +    <criteria>
> +      <criterion comment="Conditions for minclass are satisfied"
> +                 test_ref="test_password_pam_cracklib_minclass" />
> +    </criteria>
> +  </definition>
> +
> +  <ind:textfilecontent54_test check="all"
> +                              comment="check the configuration of
> /etc/pam.d/system-auth"
> +                              id="test_password_pam_cracklib_minclass"
> version="1">
> +    <ind:object object_ref="obj_password_pam_cracklib_minclass" />
> +    <ind:state state_ref="state_password_pam_cracklib_minclass" />
> +  </ind:textfilecontent54_test>
> +
> +  <ind:textfilecontent54_state id="state_password_pam_cracklib_minclass"
> +                               version="1">
> +    <ind:instance datatype="int">1</ind:instance>
> +    <ind:subexpression datatype="int"
> +                       operation="less than or equal"
> +                       var_ref="var_password_pam_cracklib_minclass" />
> +  </ind:textfilecontent54_state>
> +
> +  <external_variable comment="External variable for pam_cracklib minclass"
> +                     datatype="int"
> id="var_password_pam_cracklib_minclass"
> +                     version="1" />
> +
> +  <ind:textfilecontent54_object id="obj_password_pam_cracklib_minclass"
> +                                version="1">
> +    <ind:path>/etc/pam.d</ind:path>
> +    <ind:filename>system-auth</ind:filename>
> +    <ind:pattern operation="pattern
> match">^[\s]*password[\s]+(?:(?:required)|(?:requisite))[\s]+[\w_\.\-=\s]+[\s]minclass=(-?\d+)(?:[\s]|$)</ind:pattern>
> +    <ind:instance datatype="int" operation="less than or
> equal">1</ind:instance>
> +  </ind:textfilecontent54_object>
> +</def-group>
> diff --git a/RHEL6/input/fixes/bash/password_require_minimun_class.sh
> b/RHEL6/input/fixes/bash/password_require_minimun_class.sh
> new file mode 100644
> index 0000000..127c004
> --- /dev/null
> +++ b/RHEL6/input/fixes/bash/password_require_minimun_class.sh
> @@ -0,0 +1,6 @@
> +grep -q minclass /etc/pam.d/system-auth
> +if [ $? = "0" ]; then
> +    sed --follow-symlinks -i "/
> pam_cracklib.so/s/minclass=[0-4]/minclass=3/" /etc/pam.d/system-auth
> +else
> +    sed --follow-symlinks -i "/pam_cracklib.so/s/pam_cracklib.so/pam_cracklib.so minclass=3 /" /etc/pam.d/system-auth
> +fi
> --
> 1.8.2.1
>
> _______________________________________________
> scap-security-guide mailing list
> scap-security-guide at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/scap-security-guide
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fedorahosted.org/pipermail/scap-security-guide/attachments/20130701/4c2a5d1e/attachment.html>


More information about the scap-security-guide mailing list