fix CCE-27032-2 no_files_unowned_by_user.xml
Shawn Wells
shawn at redhat.com
Thu Jan 23 02:56:47 UTC 2014
On 12/18/13, 10:45 AM, Rodney L. Mercer wrote:
> Based on comments and recommendations from the following thread, I've
> submitted a patch to fix CCE-27032-2 no_files_unowned_by_user.xml
> https://lists.fedorahosted.org/pipermail/scap-security-guide/2013-July/003627.html
>
> This only checks /etc/passwd and not any other authorization databases.
>
>
> 8<====================
> >From ab80797697bdf00c5e05caf150124df67e0a9a51 Mon Sep 17 00:00:00 2001
> From: Rodney Mercer<rmercer at harris.com>
> Date: Wed, 18 Dec 2013 15:01:25 +0000
> Subject: [PATCH] Modified no_files_unowned_by_user.xml
> modified completely broken no_files_unowned_by_user.xml to properly
> check all files on the system to make sure that they are owned by a user
> that resides in /etc/passwd.
>
> ---
> RHEL6/input/checks/no_files_unowned_by_user.xml | 51
> ++++++++++++----------
> 1 files changed, 28 insertions(+), 23 deletions(-)
>
> diff --git a/RHEL6/input/checks/no_files_unowned_by_user.xml
> b/RHEL6/input/checks/no_files_unowned_by_user.xml
> index a73183a..f3f1276 100644
> --- a/RHEL6/input/checks/no_files_unowned_by_user.xml
> +++ b/RHEL6/input/checks/no_files_unowned_by_user.xml
> @@ -1,38 +1,43 @@
> <def-group>
> - <definition class="compliance"
> - id="no_files_unowned_by_user" version="1">
> + <definition class="compliance" id="no_files_unowned_by_user"
> version="1">
> <metadata>
> <title>Find files unowned by a user</title>
> <affected family="unix">
> <platform>Red Hat Enterprise Linux 6</platform>
> </affected>
> - <description>All files should be owned by a
> - user</description>
> + <description>All files should be owned by a user</description>
> + <reference source="rmercer" ref_id="20131218"
> ref_url="test_attestation" />
> </metadata>
> <criteria>
> - <criterion comment="Check all files and make sure they are owned
> by a user"
> - negate="true"
> - test_ref="test_20050" />
> + <criterion comment="Check all files and make sure they are owned
> by a user" test_ref="no_files_unowned_by_user_test" />
> </criteria>
> </definition>
> - <unix:file_test
> xmlns:unix="http://oval.mitre.org/XMLSchema/oval-definitions-5#unix"
> - check="all" comment="files with no user owner"
> - id="test_20050" version="1">
> - <notes>
> - <note>This will enumerate all files on local
> - partitions</note>
> - </notes>
> - <unix:object object_ref="obj_20022" />
> - <unix:state state_ref="state_20050" />
> - </unix:file_test>
> - <unix:file_state comment="Executables with suid set"
> - id="state_20050" version="1">
> - <unix:user_id datatype="int">0</unix:user_id>
> +
> + <unix:file_state id="file_permissions_unowned_userid_list_match"
> version="1">
> + <unix:user_id var_check="at least one"
> var_ref="file_permissions_unowned_userid_list" datatype="int" />
> </unix:file_state>
> - <unix:file_object comment="all local files"
> - id="obj_20022" version="1">
> - <unix:behaviors recurse="symlinks and directories"
> recurse_file_system="local" />
> +
> + <local_variable id="file_permissions_unowned_userid_list"
> comment="List of valid user ids" datatype="int" version="1">
> + <object_component item_field="subexpression"
> object_ref="file_permissions_unowned_userid_list_object" />
> + </local_variable>
> +
> + <ind:textfilecontent54_object
> id="file_permissions_unowned_userid_list_object" version="1">
> + <ind:filepath>/etc/passwd</ind:filepath>
> + <ind:pattern operation="pattern
> match">^[^:]+:[^:]+:([\d]+):[\d]+:[^:]*:[^:]+:[^:]*$</ind:pattern>
> + <ind:instance operation="greater than or equal"
> datatype="int">1</ind:instance>
> + </ind:textfilecontent54_object>
> +
> + <unix:file_object comment="all local files"
> id="file_permissions_unowned_object" version="1">
> + <unix:behaviors recurse="symlinks and directories"
> recurse_direction="down" recurse_file_system="local" />
> <unix:path>/</unix:path>
> <unix:filename operation="pattern match">.*</unix:filename>
> + <filter
> action="exclude">file_permissions_unowned_userid_list_match</filter>
> </unix:file_object>
> +
> + <unix:file_test
> xmlns:unix="http://oval.mitre.org/XMLSchema/oval-definitions-5#unix"
> + check="all" check_existence="none_exist" comment="Check user ids on
> all files on the system"
> + id="no_files_unowned_by_user_test" version="1">
> + <unix:object object_ref="file_permissions_unowned_object" />
> + </unix:file_test>
> </def-group>
> +
> -- 1.7.1
Works on my machine. Ack.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fedorahosted.org/pipermail/scap-security-guide/attachments/20140122/03025b9d/attachment.html>
More information about the scap-security-guide
mailing list