[PATCH] Adding new OVAL check that will parse /etc/passwd, looking for system accounts with real login shells (not /sbin/nologin).

Shawn Wells shawn at redhat.com
Sat Jul 20 02:04:45 UTC 2013


On 7/19/13 6:15 PM, Maura Dailey wrote:
> Here's one more patch to clean up 'make validate' just a teensy bit more. This one required a lot of testing due to complicated regex.
>
> - Maura Dailey
>
> Signed-off-by: Maura Dailey<maura at eclipse.ncsc.mil>
> ---
>   .../accounts_no_shelllogin_for_systemaccounts.xml  |   23 ++++++++++++++++++++
>   .../system/accounts/restrictions/root_logins.xml   |    2 +-
>   2 files changed, 24 insertions(+), 1 deletions(-)
>   create mode 100644 RHEL6/input/checks/accounts_no_shelllogin_for_systemaccounts.xml
>
> diff --git a/RHEL6/input/checks/accounts_no_shelllogin_for_systemaccounts.xml b/RHEL6/input/checks/accounts_no_shelllogin_for_systemaccounts.xml
> new file mode 100644
> index 0000000..a5b9334
> --- /dev/null
> +++ b/RHEL6/input/checks/accounts_no_shelllogin_for_systemaccounts.xml
> @@ -0,0 +1,23 @@
> +<def-group>
> +  <definition class="compliance" id="accounts_no_shelllogin_for_systemaccounts" version="1">
> +    <metadata>
> +      <title>System Accounts Do Not Run a Shell</title>
> +      <affected family="unix">
> +        <platform>Red Hat Enterprise Linux 6</platform>
> +      </affected>
> +      <description>The root account is the only system account that should have a login shell.</description>
> +    </metadata>
> +    <criteria>
> +      <criterion comment="tests for the presence of login shells (not /sbin/nologin) for system accounts in /etc/passwd file" test_ref="test_accounts_no_shelllogin_for_systemaccounts" />
> +    </criteria>
> +  </definition>
> +  <ind:textfilecontent54_test check="all" check_existence="none_exist" comment="tests for the presence of login shells (not /sbin/nologin) for system accounts in /etc/passwd file" id="test_accounts_no_shelllogin_for_systemaccounts" version="1">
> +    <ind:object object_ref="object_accounts_no_shelllogin_for_systemaccounts" />
> +  </ind:textfilecontent54_test>
> +  <ind:textfilecontent54_object id="object_accounts_no_shelllogin_for_systemaccounts" version="1">
> +    <ind:path>/etc</ind:path>
> +    <ind:filename>passwd</ind:filename>
> +    <ind:pattern operation="pattern match">^(?!.*root).*:x:[\d]*:0*([0-9]{1,2}|[1-4][0-9]{2}):[^:]*:[^:]*:(?!\/sbin\/nologin).*$</ind:pattern>

Seems to fail on the sync, shutdown, halt accounts

sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt



> +    <ind:instance datatype="int">1</ind:instance>
> +  </ind:textfilecontent54_object>
> +</def-group>
> diff --git a/RHEL6/input/system/accounts/restrictions/root_logins.xml b/RHEL6/input/system/accounts/restrictions/root_logins.xml
> index f9b6aa2..1f2a840 100644
> --- a/RHEL6/input/system/accounts/restrictions/root_logins.xml
> +++ b/RHEL6/input/system/accounts/restrictions/root_logins.xml
> @@ -158,7 +158,7 @@ section on the root account. Doing so might cause the system to
>   become inaccessible.
>   </warning>
>   <ident cce="26966-2" />
> -<oval id="no_shelllogin_for_systemaccounts" />
> +<oval id="accounts_no_shelllogin_for_systemaccounts" />
>   <ref nist="" disa="178" />
>   <tested by="DS" on="20121024"/>
>   </Rule>
> -- 1.7.1 _______________________________________________ 
> scap-security-guide mailing list 
> scap-security-guide at lists.fedorahosted.org 
> https://lists.fedorahosted.org/mailman/listinfo/scap-security-guide


-- 
Shawn Wells
Director, Innovation Programs
shawn at redhat.com | 443.534.0130
@shawndwells

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fedorahosted.org/pipermail/scap-security-guide/attachments/20130719/a1ee9b3d/attachment-0001.html>


More information about the scap-security-guide mailing list