Bug 1592887

Summary: Ansible remediation of various dconf settings contains typo
Product: Red Hat Enterprise Linux 7 Reporter: Shawn K. O'Shea <shawn>
Component: scap-security-guideAssignee: Watson Yuuma Sato <wsato>
Status: CLOSED ERRATA QA Contact: Marek Haicman <mhaicman>
Severity: medium Docs Contact: Mirek Jahoda <mjahoda>
Priority: high    
Version: 7.5CC: jvilicic, matyc, mhaicman, mjahoda, mpreisle, mthacker, openscap-maint
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Previously, parts of the OpenSCAP code generating Ansible remediation playbooks contained typos in the path to the dconf database directory. As a consequence, remediation tasks failed with the "OSError: [Errno 20] Not a directory: '/etc/dconf/db/local/d'" error message. The typos have been fixed, and the Ansible remediation tasks by OpenSCAP-generated playbooks now succeed.
Story Points: ---
Clone Of:
: 1601933 (view as bug list) Environment:
Last Closed: 2018-10-30 11:46:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1601933    

Description Shawn K. O'Shea 2018-06-19 14:15:23 UTC
Description of problem:
When generating ansible remediation from openscap content, various dconf settings that should be written to /etc/dconf/db/local.d/00-security-settings are attempting to be written to the incorrect path /etc/dconf/db/local/d/00-security-settings instead.

Version-Release number of selected component (if applicable):
scap-security-guide-0.1.36-9.el7.centos.noarch

How reproducible:
Every time running generated ansible.

Steps to Reproduce:
Generate Ansible for remediation, for example:
oscap xccdf generate fix --fix-type ansible --profile xccdf_org.ssgproject.content_profile_stig-rhel7-disa --output stig-rhel7-role.yml /usr/share/xml/scap/ssg/content/ssg-rhel7-ds.xml

Then run the resulting ansible playbook.

Actual results:
Ansible playbook fails with:
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: OSError: [Errno 20] Not a directory: '/etc/dconf/db/local/d'

Expected results:
Ansible task succeeds

Additional info:
This has already been fixed upstream. Commit dca8feafaa0b9044a0cec24c245eecaf8b7658ab [1]/ PR 2487 [2] fixes these typos.

These fixes were included in the 0.1.137 release of the SCAP Security Guide [3].

[1] https://github.com/OpenSCAP/scap-security-guide/commit/dca8feafaa0b9044a0cec24c245eecaf8b7658ab
[2] https://github.com/OpenSCAP/scap-security-guide/pull/2487
[3] https://github.com/OpenSCAP/scap-security-guide/releases/tag/v0.1.37

Comment 2 Shawn K. O'Shea 2018-06-19 14:20:18 UTC
Package version specified in original report is the corresponding CentOS7 package. Here is the RHEL package version:
scap-security-guide-0.1.36-9.el7_5.noarch

-Shawn

Comment 3 Josip Vilicic 2018-06-24 23:38:32 UTC
Hello Engineering Team,

1) As of now, OpenSCAP remediation by generating Ansible Playbooks does not work correctly if it has this bug.

   The Red Hat customer in the case attached to this bug (who actually filed the bug) is asking if the fix for this bug, since it has already been fixed upstream, can be backported.

   Would a z-stream release be possible?


2) This is the same customer from:

   a) "Ansible remediation of default umask in login.defs sets incorrect value"
      https://bugzilla.redhat.com/show_bug.cgi?id=1592957

   b) "Ansible remediation setting SELinux policy fails"
      https://bugzilla.redhat.com/show_bug.cgi?id=1592970

Take care,

Jo Vilicic
irc: jo -- jvilicic
TSE  --  IdM  --  919-754-4951

Comment 4 Matěj Týč 2018-06-27 13:17:07 UTC
Changing state as there indeed is a fix upstream:
https://github.com/OpenSCAP/scap-security-guide/pull/2487

Comment 9 Marek Haicman 2018-09-17 00:08:18 UTC
Verified manually for version scap-security-guide-0.1.40-5.el7

OLD (scap-security-guide-0.1.36-7.el7):
$ grep "local/d" 0.1.36-7.rhel7.ds.xml 
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"
    dest: "/etc/dconf/db/local/d/00-security-settings"


NEW (scap-security-guide-0.1.40-5.el7):
$ grep "local/d" 0.1.40-5.rhel7.ds.xml
<no output>

Comment 11 errata-xmlrpc 2018-10-30 11:46:49 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:3308