*OpenSCAP* can be now integrated into Ansible workflows
With this update, the *OpenSCAP* scanner can generate remediation scripts in the form of Ansible Playbooks, either based on profiles or based on scan results. Playbooks based on SCAP Security Guide Profiles contain fixes for all rules, and playbooks based on scan results contain only fixes for rules that fail during an evaluation. The user can also generate a playbook from a tailored Profile, or customize it directly by editing the values in the playbook. Tags, such as Rule ID, strategy, complexity, disruption, or references, used as metadata for tasks in playbooks serve to filter, which tasks to apply.
Description of problem:
In use-cases where ansible is used to manage configuration of machines it is difficult to start using openscap to remediate and put the machine in compliance. The bash remediations will work fine and temporarily put the machine in compliance but then ansible playbooks will be run and the machine will be set back.
The solution is to change the ansible playbooks according to results of the scan. That way we can run oscap scan, get the ARF, generate Ansible playbook snippet and then change the playbook currently in use according to the snippet.
To do that, SCAP Security Guide needs to provide Ansible remediations next to the bash remediations.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
First part of the fix is upstream: https://github.com/OpenSCAP/scap-security-guide/pull/1731
Needs more work before all rules have ansible coverage. The work is extensive so moving to RHEL 7.5. RHEL 7.4 will most likely have this partially fixed.
A lot of pull requests related to this have been merged upstream. As of today (SSG commit 73b67988d92f9963e37f168f467bd2df1dc65e37) 82.40% of all bash fixes also have an Ansible counterpart. Setting this to POST as 80% ansible coverage was our goal.
A partial list of PRs:
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.