On Fri, Aug 14, 2020 at 5:35 PM Gabe Alford <redhatri...@gmail.com> wrote:

>
>
> On Thu, Aug 13, 2020 at 1:34 AM Watson Sato <ws...@redhat.com> wrote:
>
>>
>>
>> On Wed, Aug 12, 2020 at 1:40 AM Gabe Alford <redhatri...@gmail.com>
>> wrote:
>>
>>>
>>>
>>> On Tue, Aug 11, 2020 at 6:00 AM Watson Sato <ws...@redhat.com> wrote:
>>>
>>>>
>>>>
>>>> On Tue, Aug 11, 2020 at 1:24 AM Shane Boulden <sboul...@redhat.com>
>>>> wrote:
>>>>
>>>>> I like that the proposal adds "policy_hub", "version" and
>>>>> "comes_into_force" into the profile file (with the assumption that this
>>>>> will not make it into XCCDF). Having this information directly in the
>>>>> .profile file makes it simpler for users and partners to see the current
>>>>> state.
>>>>>
>>>>
>>> The more I think about it, the more I am against comes_into_force. This
>>> isn't something that should be maintained or used upstream and is easily
>>> misconstrued (even if documented) for when an organization enforces policy
>>> and policy changes.
>>>
>>
>> I *think* I understand what you mean, that upstream should not say when
>> an organization enforces a policy, because this is a matter between the
>> auditor and the auditee. (I guess this is similar to how we cannot say that
>> one is compliant just by passing all cheks).
>> *But* can't this also mean that an older policy version is not
>> necessarily out dated? Because the auditor may be okay with an old policy
>> version... (I'm digressing, I guess)
>>
>> My intention with the "comes_into_ force" field was to have some kind of
>> loose documentation for the layman, for ourselves, to make it easier to
>> identify when a profile becomes outdated and cannot be used.
>>
>> The more correct way is to open a milestone upstream and associate
>>> tickets with that milestone which would include the policy reference and
>>> version.
>>> This provides an accurate picture and would easily show and tell users
>>> what needs to be done to help complete tickets for closing out gaps in the
>>> profiles.
>>> It also shows that security analysis has been performed for what has to
>>> be done to a profile for a product version.
>>>
>>
>> As you mention, this goes into the path of measuring the gap and closing
>> it. My goal is much smaller, I'd like a way to make it easy to identify out
>> of date profiles. It can by either putting down the data/info, pointing to
>> a validity page, a formula with version numbers and publication dates...
>> It may well be a foolish attempt to have written down "when a profile is
>> out of date", either because "it always depends" or because "it is always
>> out of date immediately when a new version is published".
>>
>
> I understand what you are trying to accomplish, but this is the crux of
> the problem for the very reason that "it always depends" and/or "it is
> always out of date immediately when a new version is published".
> It might be better to have a "refresh" field with options of "yearly",
> "quarterly", "monthly", etc. but I hesitate on that because the very
> expectation that users will have is to have a 100% complete profile making
> an
> iterative approach very difficult. And if for some reason, that that
> doesn't happen, it's going to not look good for us.
>
>

I understand your concerns too.

So it seems that one should consider its own context, and  interpret the
outdatedness of a profile for themselves, and representing it  in upstream
is tricky and can be misleading.

I have made a PR <https://github.com/ComplianceAsCode/content/pull/6004> to
illustrate in code how the metadata info in the Profile would look like
(I've dropped the "comes_into_force" field).
Although I put some info already, and even assigned a few people as
mainters, it would be best if in the future the maintainers put themselves
there.


>>
>>> Adding keys that are only used upstream don't provide as much value as
>>> keys that are used in the downstream validated content.
>>> The "policy_hub" should become "reference" and both "reference" and
>>> "version" can be added to <xccdf:Profile> when the content is generated
>>> This would provide more value in the long run and can be easily
>>> discoverable in official reports.
>>>
>>>
>>>>
>>>>> I see an issue with maintainers - we can mix up at least GH usernames
>>>>>> and e-mails - what about considering it a list of dicts, so we could have
>>>>>> e.g.
>>>>>> maintainers:
>>>>>>    - github: redhatrises
>>>>>>    - github: yuumasato
>>>>>>      email: ws...@redhat.com
>>>>>
>>>>> Could we use coThe idea to use cocdeowners
>>>>> <https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners>
>>>>> instead to track profile maintainers? This way the profile owners will be
>>>>> immediately notified when a PR is opened for a .profile file, and avoids
>>>>> having to maintain dicts of username->email mappings (it's simply tied to
>>>>> the GH username)
>>>>>
>>>> The automatic notifications of codeowners make it very interesting.
>>>> I have two remarks though:
>>>>
>>>>    1. maintenance of the codeowners file, which needs to be done by
>>>>    admins or owners;
>>>>    2. permissions, codeowners need to have write permission for the
>>>>    repo;
>>>>
>>>> This centralizes the management of Profile "ownership" and increases
>>>> requirements on the codeowners.
>>>>
>>>
>>> I actually really like this idea of using codeowners to track profile
>>> maintainers and think it is a more elegant solution than keeping track in
>>> the profile.
>>>
>>>
>>>>
>>>>
>>>>> On Mon, Aug 10, 2020 at 8:18 PM Matej Tyc <ma...@redhat.com> wrote:
>>>>>
>>>>>> I have remarks to Gabe's remarks, but I add them to Watson's reply,
>>>>>> so the thread doesn't bifurcate.
>>>>>> On 10. 08. 20 10:22, Watson Sato wrote:
>>>>>>
>>>>>>
>>>>>> On Sat, Aug 8, 2020 at 12:10 AM Gabe Alford <redhatri...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Anything that is metadata should conform to the Dublin Core per the
>>>>>>> XCCDF specification for the .profile files, or it can be a commented out
>>>>>>> section at the top of the .profile.
>>>>>>>
>>>>>> As the purpose is to record key properties of the profile, I am not
>>>>>> in favor of specifying them as comments - one can't parse them reliably,
>>>>>> and as we would like this to save us some work, we want to have at most 
>>>>>> one
>>>>>> schema that can be approached by computers.
>>>>>>
>>>>>> Next, the schema presented by Watson reflects what we think is useful
>>>>>> to record. I wouldn't compromise here because of the Dublin thing. I
>>>>>> understand this as a resource for content authors, it could possibly be
>>>>>> inserted as a table into the profile description, and we could have a 
>>>>>> test
>>>>>> that key profiles have this record. Putting this info into profile XCCDF
>>>>>> metadata makes sense, but I wouldn't use this as a factor that would
>>>>>> restrict the data set that we would like to record.
>>>>>>
>>>>>> I didn't envision this metadata to be included in the built XCCDF
>>>>>> profile, so I didn't look into the formal syntax.
>>>>>> And it is laid out as yaml to ease any eventual build system future
>>>>>> automation.
>>>>>>
>>>>>>
>>>>>>> Alternatively, a single file like maintainers or profile maintainers
>>>>>>> would be better as a single source of truth.
>>>>>>>
>>>>>>
>>>>>> That could work too, in this case I would make the file per product,
>>>>>> to keep them simple.
>>>>>>
>>>>>> I don't get the single source of truth thing - wouldn't it be the
>>>>>> respective profile file? Typically, one is interested in who maintains a
>>>>>> particular profile, not in how many profiles one person maintains. But 
>>>>>> more
>>>>>> importantly, I think it is important to see who maintains the profile 
>>>>>> when
>>>>>> one edits the profile file, or when one reviews the change. Having two
>>>>>> files - one with the profile definition, and the other one that may or 
>>>>>> may
>>>>>> not contain information about possible profile stakeholders - is 
>>>>>> cumbersome.
>>>>>>
>>>>>>
>>>>>>> nitpick: I think that "comes_into_force" should be something else
>>>>>>> like "when", "applicability", or "profile_enforcement".
>>>>>>>
>>>>>>
>>>>>> Thank you for the suggestions, I was not sure what would be a good
>>>>>> name for the field.
>>>>>>
>>>>>> But this also makes me wonder if tracking this is even necessary as
>>>>>>> technically in all compliance regimes a newly released profile becomes
>>>>>>> applicable on release.
>>>>>>>
>>>>>>
>>>>>> The core of this field is clarity and understanding how the policy is
>>>>>> applied in practice, if it is the case that all policies and profiles are
>>>>>> instantly unusable when a new version is released,
>>>>>> this field is unnecessary.
>>>>>> The proposal for "comes_into_force" assumed that the organizations
>>>>>> implementing and/or enforcing the policy don't update instantly, and 
>>>>>> have a
>>>>>> time frame to adapt.
>>>>>>
>>>>>> I see this as a possibility to at least loosely define shape of
>>>>>> profiles - if a stakeholder claims that they expect the profile to be
>>>>>> behind at most six months, then comparison of a couple of numbers can
>>>>>> quickly tell us whether the profile is good, on track, or whether it was
>>>>>> left behind.
>>>>>>
>>>>>> Below is a draft proposal of a set of *optional* metadata to be added
>>>>>> to the ".profile" file. Everything is pretty much free form and optional.
>>>>>>
>>>>>>    - policy_hub: (URL pointing to page or organization that
>>>>>>    publishes the policy)
>>>>>>    - version: (version of the policy implemented)
>>>>>>    - comes_into_force: (text stating when a policy starts being
>>>>>>    enforced, in other words, when a policy version is in practice 
>>>>>> obsolete)
>>>>>>    - maintainers: (contact of policy SME, stakeholder, or person
>>>>>>    responsible for the profile, can be in form of GitHub handle for 
>>>>>> example)
>>>>>>
>>>>>> I see an issue with maintainers - we can mix up at least GH usernames
>>>>>> and e-mails - what about considering it a list of dicts, so we could have
>>>>>> e.g.
>>>>>>
>>>>>> maintainers:
>>>>>>
>>>>>>    - github: redhatrises
>>>>>>    - github: yuumasato
>>>>>>      email: ws...@redhat.com
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>> On Fri, Aug 7, 2020 at 9:21 AM Watson Sato <ws...@redhat.com> wrote:
>>>>>>> ...
>>>>>>>
>>>>>>
>>>>
>>>> --
>>>> Watson Sato
>>>> Security Technologies | Red Hat, Inc
>>>> _______________________________________________
>>>> scap-security-guide mailing list --
>>>> scap-security-guide@lists.fedorahosted.org
>>>> To unsubscribe send an email to
>>>> scap-security-guide-le...@lists.fedorahosted.org
>>>> Fedora Code of Conduct:
>>>> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>>>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>>>> List Archives:
>>>> https://lists.fedorahosted.org/archives/list/scap-security-guide@lists.fedorahosted.org
>>>>
>>> _______________________________________________
>>> scap-security-guide mailing list --
>>> scap-security-guide@lists.fedorahosted.org
>>> To unsubscribe send an email to
>>> scap-security-guide-le...@lists.fedorahosted.org
>>> Fedora Code of Conduct:
>>> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>>> List Archives:
>>> https://lists.fedorahosted.org/archives/list/scap-security-guide@lists.fedorahosted.org
>>>
>>
>>
>> --
>> Watson Sato
>> Security Technologies | Red Hat, Inc
>> _______________________________________________
>> scap-security-guide mailing list --
>> scap-security-guide@lists.fedorahosted.org
>> To unsubscribe send an email to
>> scap-security-guide-le...@lists.fedorahosted.org
>> Fedora Code of Conduct:
>> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>> List Archives:
>> https://lists.fedorahosted.org/archives/list/scap-security-guide@lists.fedorahosted.org
>>
> _______________________________________________
> scap-security-guide mailing list --
> scap-security-guide@lists.fedorahosted.org
> To unsubscribe send an email to
> scap-security-guide-le...@lists.fedorahosted.org
> Fedora Code of Conduct:
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
> https://lists.fedorahosted.org/archives/list/scap-security-guide@lists.fedorahosted.org
>


-- 
Watson Sato
Security Technologies | Red Hat, Inc
_______________________________________________
scap-security-guide mailing list -- scap-security-guide@lists.fedorahosted.org
To unsubscribe send an email to scap-security-guide-le...@lists.fedorahosted.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/scap-security-guide@lists.fedorahosted.org

Reply via email to