This is definitely still a work in progress and you're right it doesnt quite line up perfectly; as far as the Ansible-Lockdown project goes, Mind Point Group's repos are the ones to fork (more on that below**). Once it matures, we'll be adding it to the test pipeline.In general, the rule is for the audit/remediation actions to be written out sequentially. So for the RHEL7 CIS benchmark that would mean starting with 1.1.1.1 and ending with 6.2.19. The other design pattern is for each logical grouping to be in its own task file within "tasks/", which would be 1, 2, 3, 4, 5, and 6 for CIS.
There are a few of things to consider.
- If it's simply a data change (ie auto account disabling from 30 days to say, 90 days) then it's a matter of leveraging Ansible variable precedence mechanism to override that value, in the case of a role default (the weakest in precedence) you can override the value easily via a play var, a role call var, extra var, host var, group var, etc.
- If it's a logical change (ie you want to change how something works, remove something compleltely, add in custom rules, etc) then you're better off forking the role and making modifications there and then you can just do a periodic rebasing with the upstream in order to stay in sync (assuming your tweaks arent so widespread so as to cause merge conflicts every time).
- The current RHEL6 STIG role does have some examples of leveraging booleans/defaults within the role if you'd like, feel free to use that as a reference.
|
--
You received this message because you are subscribed to the Google Groups "Ansible Lockdown" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-lockdo...@googlegroups.com.
To post to this group, send email to ansible-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-lockdown/62e13740-4113-4d9e-9d6e-fa0d12a68e38%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Thanks Jonathan and welcome to Lockdown Brian!
The current RHEL7 CIS benchmark repo is definitely a work in progress and the current skeleton of sections in tasks, etc was generated from v1.1.0 of the benchmark. CIS has since released a major update to v2 and then v2.1.0. The move from v1 to v2 included some Section changes and we are currently planning on re-generating a skeleton and then seeing how much delta there is. We can then merge the changes so that we have a good base to start from.
As a note, I use this Python script to generate skeleton Ansible content from an XML benchmark file. https://github.com/shepdelacreme/benchparse Feel free use it for generating content for any other benchmark roles you may be working on!
Thanks!
Dan
From:
<ansible-...@googlegroups.com> on behalf of Jonathan Davila <jda...@ansible.com>
Date: Monday, August 1, 2016 at 7:47 PM
To: Brian O'Reilly <brianp...@gmail.com>
Cc: Ansible Lockdown <ansible-...@googlegroups.com>
Subject: Re: Getting Involved / CIS Role(s)
Brian, great post! And welcome to the Lockdown community.
On CIS:
Regarding the current Mind Point Group role:
This is definitely still a work in progress and you're right it doesnt quite line up perfectly; as far as the Ansible-Lockdown project goes, Mind Point Group's repos are the ones to fork (more on that below**). Once it matures, we'll be adding it to the test pipeline.
In general, the rule is for the audit/remediation actions to be written out sequentially. So for the RHEL7 CIS benchmark that would mean starting with 1.1.1.1 and ending with 6.2.19. The other design pattern is for each logical grouping to be in its own task file within "tasks/", which would be 1, 2, 3, 4, 5, and 6 for CIS.
Regarding customization:
There are a few of things to consider.
1. If it's simply a data change (ie auto account disabling from 30 days to say, 90 days) then it's a matter of leveraging Ansible variable precedence mechanism to override that value, in the case of a role default (the weakest in precedence) you can override the value easily via a play var, a role call var, extra var, host var, group var, etc.
2. If it's a logical change (ie you want to change how something works, remove something compleltely, add in custom rules, etc) then you're better off forking the role and making modifications there and then you can just do a periodic rebasing with the upstream in order to stay in sync (assuming your tweaks arent so widespread so as to cause merge conflicts every time).
3. The current RHEL6 STIG role does have some examples of leveraging booleans/defaults within the role if you'd like, feel free to use that as a reference.
** The reason Mind Point Group hosts the roles that are part of Lockdown proper is due to the fact they function as the 3rd party validator of our implementation. As everyone is well aware, neither Ansible nor Red Hat at-large is directly in the business of IT security, but MPG is. When we first started talking about doing this project it was one of the first things that came up, "How do we give some level assurance to users/orgs that end up leveraging these roles?" That answer is and was Mind Point Group, they are a formal partner of Red Hat (by way of the Ansible acquisition) with a solid track record in the IT security space and an affinity for open source. I can say for a fact that the RHEL6 STIG role has already made waves and is being used by many Federal and local government agencies as well as private sector institutions as well. Hopefully, this all makes sense.
If and when there is a need/desire to create a new role that doesn't yet have a repo, just open an issue on the Lockdown repo and we can create a new repo under the MPG org.
Again, welcome to the community!
|
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-lockdown/CAPQp0Q8dd2NxhbvBn%3D%3D00QGSwkQuaJESd_MgauLuVtTbZU73sw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Confidential: This email is intended for recipient to which it is addressed. The information contained in this email may be confidential, proprietary, or may contain PII. Any retransmission, review, dissemination or other use of this information by persons or entities other than the intended recipient is prohibited. If you have been asked to provide PII to the sender of this email, then in order to properly secure this information, please send it within an encrypted attachment with the password/key provided under a separate cover, such as in person, by phone, or in a separate email.
I checked this out and started working on an update last night. I confirmed that the issue is that the existing content was produced from the v1.1.0 benchmark. CIS altered the section layout and many of the configuration item numbers when they moved to v2. For example v2 goes from Section 1 to 6, whereas v1 went up to Section 9.
I'd like to be able to share some of the work I've done so that others can benefit as well.
Is there an agreed upon methodology of handling customizability in terms of these security roles? I.e. if a company's policy differs from some item in the benchmarks, how would (or should) someone running these roles override these items?
There are a bunch of hiccups along these lines that I've run into when actually running these sorts of roles on real servers, and I'm interested in what other people think about best practices to handle them.
Hi Bas,Firstly, I'd like to request some patience, all maintainers of the Ansible Lockdown project have full-time jobs where Lockdown work isn't, to date, an explicit daily job duty. That being said, it is an officially endorsed project and we are able to work on it during work hours, but it is, so far, secondary to our primary roles. Speed isn't nearly as fast as it would be if Lockdown were our full-time job, please be respectful of that fact. When I look at the PRs I see one pull request from you that has been open for 2 days (according to GitHub), we'll get to it. It should only be cause for concern if you see a pull request open for more than 2 weeks without any sort of feedback.Secondly, the mailing list isn't the place to request attention on a particular pull request. That sort of discussion should happen on the pull request itself. Of course, you can raise general concerns about the project, for example, to express dissatisfaction with, the speed at which your PRs are evaluated and merged, or even with the maintainers themselves (though I hope not); however, in that case, the proper place would be on a new mailing list submission and not on an existing thread.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-lockdown+unsubscribe@googlegroups.com.
To post to this group, send email to ansible-lockdown@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-lockdown/D212394B-3090-464A-9097-530C700BF540%40redhat.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Ansible Lockdown" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-lockdown/1F143852-B9D6-4600-ACA2-E0E1DC9BCADF%40gmail.com.To unsubscribe from this group and stop receiving emails from it, send an email to ansible-lockdown+unsubscribe@googlegroups.com.
To post to this group, send email to ansible-lockdown@googlegroups.com.