[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